IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

IA & Python


Sujet :

Python

  1. #1
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 896
    Points : 3 730
    Points
    3 730
    Par défaut IA & Python
    Salut,

    Python semble être un langage très utilisé dans le domaine de l'IA, il y a plusieurs librairies importantes dans ce langage si j'ai bien compris (TensorFlow, Pytorch, Scikit-learn...).

    Bon je n'y connais pas grand chose mais j'ai vu qu'il y a la librairie Transformers (développée par Hugging Face) qui facilite beaucoup les choses... On peut si j'ai bien compris charger et utiliser facilement des modèles de langage pré-entraînés avec seulement quelques lignes de code...

    Du coup on pourrait développer son propre chatbot à base d'IA et le faire tourner localement sur son PC !

    Alors j'aimerais savoir si quelqu'un parmi vous avait déjà testé cela et si oui comment cela s'est passé sachant qu'il faut quand même un minimum de puissance... Et peut-être que certains d'entre vous ont développé une interface utilisateur pour le chatbot ?



    PS: Il y a évidement des avantages et des inconvénients à faire tourner son chatbot localement... C'est clair qu'on ne va pas avoir un chatbot aussi puissant que ceux qui sont bien connus mais il y a plusieurs raisons pour lesquelles je m’intéresse à cette solution :

    1- Ben déjà cela permet de garder privées les données que l'on soumet au chatbot...

    2- Une autre raison (qui va peut-être vous surprendre) c'est le copyright, les droits d'auteurs... Quand je lis les conditions d'utilisation de certains chatbots bien connus eh bien j'en reviens pas...

    Dans de nombreux cas, les droits d'auteurs ne sont pas respectés lorsqu'on utilise ces chatbots ou autres services comme la traduction automatique... En effet si j'ai bien compris on ne doit pas soumettre à ces services un contenu dont on ne possède pas les droits d'auteurs !!!

    Du coup dans de nombreux cas ces services sont inutilisables ??? Ben oui genre quand on demande une traduction, un résumé, une explication d'un code Python ou autre qu'on a trouvé quelque part sur le web, une description ou une modification d'une image... ben il me semble que dans la plupart des cas les utilisateurs ne possèdent pas les droits sur les contenus qu'ils soumettent, non ?

    Bon en réalité, je ne suis pas sûr de ça, j'espère avoir mal compris, quelque chose doit m'échapper ???

    Cela m’intéresse de savoir ce que vous en pensez et si vous même vous avez été confronté à ce problème...

    Merci.

  2. #2
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 226
    Points : 4 710
    Points
    4 710
    Par défaut
    bonjour
    Citation Envoyé par Beginner. Voir le message
    utiliser facilement des modèles de langage pré-entraînés avec seulement quelques lignes de code...
    Oui, donc le coté python n'a pas grand intérêt.
    Qu'une librairie nous retourne du texte ou une image existe depuis des décennies, qu'il y a une ia derrière ne change rien pour le codeur python.
    Et peut-être que certains d'entre vous ont développé une interface utilisateur pour le chatbot ?
    Comme écrit plus haut, existe des librairies, donc rien de plus facile et, parfois complètement inutile puisque déjà disponible (un chat)

    déjà testé cela et si oui comment cela s'est passé sachant qu'il faut quand même un minimum de puissance....
    Existe un forum ici sur l'IA, tu n'es pas dans la bonne rubrique ! existe 36 milles modèles et en fonction, le minimum va plutôt se situer avec 16Go de ram disponible, mais peut aussi monter à 64Go ... et un solide GPU peut éviter d'avoir un "truc" bien trop lent et qu'il bloque notre pc lorsqu'il "réfléchit".

    Bon en réalité, je ne suis pas sûr de ça
    Voir le bon forum

  3. #3
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 896
    Points : 3 730
    Points
    3 730
    Par défaut
    Merci pour tes réponses...

    Citation Envoyé par papajoker Voir le message
    bonjour
    Oui, donc le coté python n'a pas grand intérêt.
    Qu'une librairie nous retourne du texte ou une image existe depuis des décennies, qu'il y a une ia derrière ne change rien pour le codeur python.
    Ben c'est quand même cool de pouvoir utiliser facilement des modèles de langage pré-entraînés avec seulement quelques lignes de code... Avant cela, je pensais plutôt que l'IA cela devait être compliqué, que ce n'était pas accessible à un particulier...

    Et il ne s'agit pas juste d'utiliser une API, ça oui je savais que cela existait, par exemple on peut en effet payer pour obtenir une api-key et ensuite c'est en gros des requêtes htpp que l'on fait à un serveur distant...Là on se fiche de savoir comment ça marche, on utilise le service via son api et c'est tout...

    Mais là la librairie permet quand même d'avoir ce genre de service en local sur ton PC et ça je ne pensais pas que cela pouvait être aussi simple...

    Citation Envoyé par papajoker Voir le message
    Comme écrit plus haut, existe des librairies, donc rien de plus facile et, parfois complètement inutile puisque déjà disponible (un chat)
    Ah ben ça c'est comme le reste, tu peux toujours essayer de te contenter de ce qu'ont fait les autres mais en général cela ne me réussi pas trop car j'ai souvent envie d'ajouter mes propres fonctionnalités...

    Pouvoir faire sa propre interface utilisateur permet d'aller plus loin, on peut automatiser certaines tâches, on peut vouloir parler et écouter au lieu d'écrire et lire (on ajoute alors un speech to text et text to speech...).

    Alors j'étais tenté de le faire en utilisant les interfaces web des chatbot existants mais c'est interdit, ils ne veulent pas qu'on automatise...


    Citation Envoyé par papajoker Voir le message
    Existe un forum ici sur l'IA, tu n'es pas dans la bonne rubrique !
    Oui mais il est inondé par des actualités et les sous forums me semblent très peu fréquentés...

    Et de toute façon on se renvoie la balle : là-bas quand tu voudras aborder le coté programmation on te dira qu'il y a un forum pour ça...

    Citation Envoyé par papajoker Voir le message
    Voir le bon forum
    Il y a un bon forum pour ça ? Je ne l'ai pas vu...

    Et de toute façon, je voulais aussi savoir ce que vous en pensiez, si vous aussi, vous trouviez cela étrange que des usages qui semblent bien répandus et mis en avant (on trouve même des tuto) soient peut-être interdits...

  4. #4
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 226
    Points : 4 710
    Points
    4 710
    Par défaut
    Citation Envoyé par Beginner. Voir le message
    Et il ne s'agit pas juste d'utiliser une API, ça oui je savais que cela existait, par exemple on peut en effet payer pour obtenir une api-key et ensuite c'est en gros des requêtes htpp que l'on fait à un serveur distant...Là on se fiche de savoir comment ça marche, on utilise le service via son api et c'est tout...
    Comme dans mon lien donné, il n'y a pas de différence d'api entre chatgpt et une ia locale.
    Exemple llama3 la doc est claire c'est une bête api où l'on envoie son texte et on a en réponse du json. Comme tu peux le voir, c'est même plus simple que la majorité des api web qui l'on utilise couramment. Comme le montre cette doc, il n'y a rien de particulier pour python à utiliser une ia "locale", on fait une requete http et on analyse le résultat, python n'a aucun avantage particulier pour cela.
    Par rapport à mon lien, existe une lib python si difficile à prendre en main...

    Il faut bien comprendre que cela ne change strictement rien au niveau python si l'api retourne un calcul mathématique ou un truc approximatif d'une IA, ce qui se passe derrière la boite noire ne change pas notre code python. Moi, simple codeur, je fais simplement une requête (http, sql,...) et j'attends une réponse à analyser, que le serveur http ou serveur BD
    ou IA soit local ou non ne change strictement rien.

    ajoute alors un speech to text et text to speech
    Et donc, si tu désires avoir ton propre chat, on en prouve facilement sur github, tu peux récupérer/modifier n'importe lequel qui existe déjà (pour toute ia), la modification est vraiment minime. "text to speech" n'a pas de rapport avec l'IA et, on trouve de nombreux exemples de chat(IA) avec cette fonctionnalité. Eventuellement, c'est juste ajouter une ligne à cet exemple à la place du print()

    pas accessible à un particulier.
    Ton seul véritable problème est de trouver (par exemple dans la liste que j'ai donné) le modèle qui correspond à tes besoins , s'il est compatible avec ton matériel et comment l'installer : des choses sans rapport avec python et pas forcément accessible pour tous.


    EDIT

    Tu peux aussi regarder du coté de LM studio, on a un chat local qui se connecte à diverses ia locales et, fournit une même lib (python) quel que soit l'ia.
    Demande au minimum 16Go et 6Go de vram(sur carte graphique)

  5. #5
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 226
    Points : 4 710
    Points
    4 710
    Par défaut
    RE-EDIT (pas faisable)

    Un petit retour sur le matériel pour avoir une bonne IA en local

  6. #6
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 896
    Points : 3 730
    Points
    3 730
    Par défaut
    Salut,
    Merci pour tes réponses et tes recherches...

    J'ai faits quelques recherches et testes de mon coté...

    Citation Envoyé par papajoker Voir le message
    Comme dans mon lien donné, il n'y a pas de différence d'api entre chatgpt et une ia locale.
    Exemple llama3 la doc est claire c'est une bête api où l'on envoie son texte et on a en réponse du json. Comme tu peux le voir, c'est même plus simple que la majorité des api web qui l'on utilise couramment. Comme le montre cette doc, il n'y a rien de particulier pour python à utiliser une ia "locale", on fait une requete http et on analyse le résultat, python n'a aucun avantage particulier pour cela.
    Par rapport à mon lien, existe une lib python si difficile à prendre en main...

    Il faut bien comprendre que cela ne change strictement rien au niveau python si l'api retourne un calcul mathématique ou un truc approximatif d'une IA, ce qui se passe derrière la boite noire ne change pas notre code python. Moi, simple codeur, je fais simplement une requête (http, sql,...) et j'attends une réponse à analyser, que le serveur http ou serveur BD
    ou IA soit local ou non ne change strictement rien.
    ...

    EDIT

    Tu peux aussi regarder du coté de LM studio, on a un chat local qui se connecte à diverses ia locales et, fournit une même lib (python) quel que soit l'ia.
    Demande au minimum 16Go et 6Go de vram(sur carte graphique)
    Effectivement il y a plusieurs solutions pour "exécuter" un modèle localement, j'avais déjà vu les deux que tu as citées mais je ne les ai pas encore testées, j'en ai testé un autre : jan.ai : avec openchat ça marche avec environ 4/5 tokens/s mais mon PC souffre quand même avec un cpu au environ de 70%...

    Et oui dans certains cas tu peux te passer de python mais disons que python reste un langage très utilisé dans le domaine de l'IA... Et j'avais mentionné la librairie Transformers (développée par Hugging Face) mais il y en a d'autres...

    Pour l'instant je ne comprends pas trop comment cela fonctionne à la base, que signifie exactement exécuter un modèle (ou faire de l'inférence) ? Quels sont les divers moyens /librairies qu'il faut pour cela... J'ai vu qu'il y avait plusieurs formats, certains sont optimisés pour permettre l’exécution sans GPU...


    -------------

    PS : Au fait meta.ai fait de la "discrimination" (je ne sais pas si c'est le bon mot)... Son modèle Llama eh bien il semblerait qu'il soit interdit de l'utiliser dans une autre langue que l'anglais... Ce qui me semble tellement absurde, cela n'a vraiment aucun sens pour moi d'autant plus qu'il comprends plusieurs langues, il le dit lui-même d'ailleurs !!! Et j'ai pu le vérifier, on se demande donc vraiment le pourquoi de cet interdiction...

    Ils auraient pu se contenter d'avertir que leurs modèles fonctionnent mieux en anglais et donc qu'il ne fallait pas s'attendre à des performances égales dans les autres langues mais non ils ont choisit d'interdire !!! C'est pourquoi j'ai pensé à une forme de discrimination car d'un point de vu technique cela n'a aucun sens puisque cela fonctionne... Et même si cela fonctionnait moins bien alors c'est notre problème, ce n'est pas une raison pour l'interdire...

    Je n'y comprends rien à ce coté juridique dans le domaine de l'informatique, cela m'agace de devoir lire des conditions d'utilisation qui font la taille d'un petit roman, parfois il y a plusieurs pages dans lesquels se trouvent des liens vers d'autres pages... En plus c'est vraiment très difficile à comprendre ...

    Il va falloir suivre une formation juridique si cela continue comme ça...

  7. #7
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 896
    Points : 3 730
    Points
    3 730
    Par défaut
    Citation Envoyé par papajoker Voir le message
    RE-EDIT (pas faisable)

    Un petit retour sur le matériel pour avoir une bonne IA en local
    Merci, oui effectivement il faut un PC puissant pour faire fonctionner certains modèles... Et c'est entre autres ce qui fait que je me suis aussi intéressé à une solution d'hébergement, le but étant surtout de ne pas être soumis à des conditions d'utilisation très difficile voir impossible à respecter en pratique...

    Alors je vois qu'il est mentionné entre autres Together AI, je ne connaissais pas et cela m'a paru intéressant au début (notamment au niveau des tarifs) mais malheureusement j'ai vite déchanté quand j'ai lu conditions d'utilisations...

    Malgré le fait que ce soit un service payant et qu'on peut choisir que son contenu ne soit pas utilisé eh bien tu as quand même des conditions d'utilisation concernant notamment les droits d'auteurs du coup je ne comprends comment* on peut utiliser ce genre de service comme le font apparemment beaucoup de gens...


    * Comme je disais :

    Ben oui genre quand on demande une traduction, un résumé, une explication d'un code Python ou autre qu'on a trouvé quelque part sur le web, une description ou une modification d'une image... ben il me semble que dans la plupart des cas les utilisateurs ne possèdent pas les droits sur les contenus qu'ils soumettent, non ?
    ...

    Et de toute façon, je voulais aussi savoir ce que vous en pensiez, si vous aussi, vous trouviez cela étrange que des usages qui semblent bien répandus et mis en avant (on trouve même des tuto) soient peut-être interdits...

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 344
    Points : 1 961
    Points
    1 961
    Par défaut
    Citation Envoyé par Beginner. Voir le message
    PS : Au fait meta.ai fait de la "discrimination" (je ne sais pas si c'est le bon mot)... Son modèle Llama eh bien il semblerait qu'il soit interdit de l'utiliser dans une autre langue que l'anglais... Ce qui me semble tellement absurde, cela n'a vraiment aucun sens pour moi d'autant plus qu'il comprends plusieurs langues, il le dit lui-même d'ailleurs !!! Et j'ai pu le vérifier, on se demande donc vraiment le pourquoi de cet interdiction...

    Ils auraient pu se contenter d'avertir que leurs modèles fonctionnent mieux en anglais et donc qu'il ne fallait pas s'attendre à des performances égales dans les autres langues mais non ils ont choisit d'interdire !!! C'est pourquoi j'ai pensé à une forme de discrimination car d'un point de vu technique cela n'a aucun sens puisque cela fonctionne... Et même si cela fonctionnait moins bien alors c'est notre problème, ce n'est pas une raison pour l'interdire...
    Je ne sais pas où tu as lu cette interdiction
    J'ai trouvé au contraire l'avertissement (pas directement chez Meta)
    As Meta explained in the research paper, “Most data is in English, meaning that Llama 2 will perform best for English-language use cases.” It also warned, “A training corpus with a majority in English means that the model may not be suitable for use in other languages.”

  9. #9
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 896
    Points : 3 730
    Points
    3 730
    Par défaut
    Salut,

    @umfred Merci pour cette citation...

    Oui il y a des citations* de ce genre qui laissent penser qu'il n' y a pas d'interdiction... Mais il y a un passage qui me semble clair et qui a été soulevé par plusieurs personnes et à un moment ils ont ajouté une précision** comme quoi il n'est pas interdit de faire du fine-tunning mais cela ne répond pas à la question que j'ai moi-même posée à savoir s'il est autorisé d'utiliser le modèle dans une autre langue que l'anglais, je voulais parlé du modèle tel quel et non du modèle éventuellement "fine-tunné" mais j'ai l'impression qu'ils n'osent confirmer clairement l'interdiction...

    En réalité on pourrait aussi jouer au plus fin et se dire qu'en toute rigueur cette interdiction ne figure pas à proprement parler dans use policy et license agreement ** mais pourquoi n'ont ils pas clairement répondu aux inquiétudes de certains et aussi ils n'ont pas corrigé*** certains qui ont clairement dit que c'était interdit...

    * Il y a une citation qui vient bien de leur site qui est citée ici et comme cela est dit dans le message on peut effectivement comprendre que l'usage dans une autre langue que l'anglais n'est pas interdit mais que cela pourrait être moins performant... Mais c'est le passage qui est cité ensuite qui pose problème... Et les réponses données ne me semblent pas claires du tout, il répète qu'on peut "fine-tunner" le modèle mais ce n'est pas la question qui est posée !!!

    Malgré une reformulation encore plus claire juste après ici la réponse est encore qu'on peut "fine-tunner" le modèle...


    **
    [Question] Is the Use of Llama2 Forbidden in Languages Other Than English?


    Llama 2: Using in languages other than English.

    *** Exemples : ici et

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 344
    Points : 1 961
    Points
    1 961
    Par défaut
    Si tu regardes maintenant, la problématique n'existe plus, vu les conditions d'utilisation ont été changé et ne comporte plus la restriction de langage (cf les doc dispo sur le github que tu nous cites)

  11. #11
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 896
    Points : 3 730
    Points
    3 730
    Par défaut
    Ben pour la version 3 ici ils donnent ce lien : meta-llama/Meta-Llama-3-8B-Instruct dans lequel on a toujours ce passage :

    Intended Use

    Intended Use Cases Llama 3 is intended for commercial and research use in English. Instruction tuned models are intended for assistant-like chat, whereas pretrained models can be adapted for a variety of natural language generation tasks.

    Out-of-scope Use in any manner that violates applicable laws or regulations (including trade compliance laws). Use in any other way that is prohibited by the Acceptable Use Policy and Llama 3 Community License. Use in languages other than English**.

    **Note: Developers may fine-tune Llama 3 models for languages beyond English provided they comply with the Llama 3 Community License and the Acceptable Use Policy.

  12. #12
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 896
    Points : 3 730
    Points
    3 730
    Par défaut
    Salut,

    Pour ceux que cela intéresserait, j'ai vu qu'on pouvait accéder aux spaces (même si ce ne sont pas les nôtres) sans même s'inscrire où que ce soit...

    Exemple pour le space "huggingface-projects/llama-2-13b-chat" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    from gradio_client import Client
     
    client = Client("huggingface-projects/llama-2-13b-chat")
     
    prompt = """Peux-tu écrire un code Python qui calcule la moyenne de n nombres ?"""
     
    result = client.predict(
            message=prompt,
            request="Hello!!",
            param_3=1024,
            param_4=0.6,
            param_5=0.9,
            param_6=50,
            param_7=1.2,
            api_name="/chat"
    )
    print(result)
    La première fois cela me semble plus long, peut-être parce que le space est "endormie"...

  13. #13
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 896
    Points : 3 730
    Points
    3 730
    Par défaut
    Salut,

    Citation Envoyé par Beginner. Voir le message
    Exemple pour le space "huggingface-projects/llama-2-13b-chat" :
    En plus des spaces hugging Face, j'ai vu aussi que dans Google Colab on pouvait tester du code python nécessitant beaucoup de ressources.. Ce n'est pas permanent, il semble que tout est perdu quand on quitte et qu'il faut alors tout relancer (notamment le chargement des librairies et des modèles) pour une nouvelle utilisation...

    Quelqu’un connait-il un meilleur moyen ? Partagez !

Discussions similaires

  1. CORBA & PYTHON
    Par stan91stan dans le forum CORBA
    Réponses: 5
    Dernier message: 10/06/2004, 13h32
  2. module .so pour python... ?!
    Par totoetlititi dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 09/03/2004, 15h51
  3. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 15h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo