IA, éthique, tout ça

Je me permets de remettre ici ce que je viens de poster sur la shoutbox :

C’est moi qui ne mesure pas l’ampleur de la chose, ou c’est complètement hors-sol de dire un truc pareil.
« I’m working with a technology I’m not an expert in », je n’arrive pas à me rendre compte si c’est vraiment courant ou très spécifique. Pour moi, c’est délirant que ça puisse arriver et que le gars ait l’habitude de s’appuyer sur Chat GPT pour faire le boulot.

1 « J'aime »

Pourquoi? En programmation tu utilises souvent une lib ou une nouvelle tech ou t’es pas un expert et ca permet de te guider. La citation a pas grand chose de choquant pour moi. Apres que le mec soit « bloqué » vs « ralenti » c’est plus de l’appreciation…

C’est pour ça que je demande. Je ne suis pas du tout dans le domaine, donc de l’extérieur, ça me semblait très curieux. Je ne touche pas un domaine que je ne maîtrise pas dans mon taf, et encore moins avec l’appui d’un truc comme un LLM (après mon taf est loin d’être comparable, j’en conviens).

Nan mais c’est pour faire du drama sur Twitter, on peut très bien bosser sans ça.

Comme le dit Glop, le gars doit juste être un peu ralenti si il a pris l’habitude de s’appuyer exclusivement sur ChatGPT pour ses recherches.

4 « J'aime »

Ceci étant, pour mettre le pied à l’étrier avec une lib ou une techno qu’on connait mal, c’est vraiment utile.

J’ai gagné un temps fou pour m’initier à quelques libs/frameworks ou encore de nouveaux langages en discutant avec des LLM, même si les limites de l’outil sont assez vite atteintes (erreurs grossières, training fait sur des API deprecated depuis, dans les cas que j’ai utilisés).

C’est un outil de plus à mettre dans la besace, mais pas encore l’alpha et l’omega vendu.

Bah su tu te sers de l’IA pour synthétiser les docs sur un sujet, pour que tu comprenne comment ça marche, OK, pour qu’il fasse à ta place, ben juste non.

1 « J'aime »

vous connaissez : Try markmap ?
Ca fait des mindmap a base de markdown. Minmap que vous pouvez demander a un llm comme chatgpt :

Connaissances nécessaires pour comprendre un LLM:

Résumé

Connaissances nécessaires pour comprendre un LLM

1. Introduction aux LLM

  • Définition de LLM
  • Applications des LLM

2. Mathématiques de base

  • Algèbre linéaire
    • Vecteurs
    • Matrices
    • Opérations matricielles
  • Probabilités et statistiques
    • Distribution des probabilités
    • Espérance et variance
    • Théorème de Bayes

3. Apprentissage automatique (Machine Learning)

  • Concepts de base
    • Apprentissage supervisé vs non supervisé
    • Overfitting et underfitting
  • Modèles de base
    • Régressions linéaires
    • Arbres de décision
    • SVM (Support Vector Machines)

4. Réseaux de neurones artificiels

  • Perceptron
  • Réseaux de neurones multicouches (MLP)
  • Fonctions d’activation
    • Sigmoid
    • ReLU (Rectified Linear Unit)
    • Tanh

5. Apprentissage profond (Deep Learning)

  • Réseaux de neurones convolutifs (CNN)
    • Convolutions
    • Pooling
  • Réseaux de neurones récurrents (RNN)
    • LSTM (Long Short-Term Memory)
    • GRU (Gated Recurrent Unit)
  • Techniques de régularisation
    • Dropout
    • Normalisation de batch

6. Modèles de langage

  • N-grams
  • Modèles basés sur l’embedding
    • Word2Vec
    • GloVe
    • FastText

7. Transformer

  • Architecture Transformer
    • Self-Attention
    • Mécanisme d’attention multi-têtes
    • Encoder-Decoder
  • Modèles Transformer populaires
    • BERT (Bidirectional Encoder Representations from Transformers)
    • GPT (Generative Pre-trained Transformer)
    • T5 (Text-To-Text Transfer Transformer)

8. Entraînement de LLM

  • Prétraitement des données
    • Tokenization
    • Normalisation
  • Entraînement de modèles
    • Fonctions de perte
    • Optimiseurs (SGD, Adam)
  • Hyperparamètres
    • Taux d’apprentissage
    • Taille du batch

9. Évaluation et déploiement

  • Métriques d’évaluation
    • Précision
    • Rappel
    • F1-Score
  • Déploiement de modèles
    • API
    • Serveurs de modèles
    • Conteneurisation (Docker, Kubernetes)

10. Éthique et considérations sociales

  • Biais dans les modèles
  • Confidentialité des données
  • Impacts sociaux et économiques

résultat :

Résumé

markmap-2.html.zip (2,6 Ko)

1 « J'aime »

Pas encore écouté : Fake news : elle est passée par ici, elle repassera par l’IA

De manière générale, en informatique, la plus grosse compétence qui permet d’être efficace c’est le Google-fu, donc si maintenant çà devient plus ou moins du ChatGPT-fu c’est pas trop étonnant.

Pour moi, du moins en dev, c’est l’algorithmique la compétence differentiatoire, non seulement on ne sait plus ce que c’est, mais je ne vois pas l’IA nous pondre des algos pertinents et robustes avant des années (voir jamais).

3 « J'aime »

C’etait le cas ya 15ans, puis c’est devenu le Stackoverflowfu, mais en vrai, ca a toujours été le « social fu ». Ce qui peut etre traduit par « dire fuck you » a des gens, et savoir bien communiquer avec d’autres.

Pareil, c’est hyper réducteur ça. Les « IA » ça fait longtemps qu’elles posent de nouveau algos ou de nouvelles optimisations incroyables, c’est plus démarquant depuis un moment, a la rigueur, je dirais que la curiosité est le trait qui va amener le reste.

3 « J'aime »

Ce que je veux, dire c’est que ce n’est pas la technique qui fait un bon dev. La technique qui t’echappe, tu la trouve sur internet et l’IA peut te premacher le boulot.
Par contre, définir comment appréhender le problème, prendre en compte les cas limites, anticiper les impacts sur le reste du code, si tu ne sais pas y penser, tu ne pourras pas l’exprimer pour le demander à une IA. Si tu es un mauvais dev, tu seras un mauvais dev plus rapide, c’est tout.

4 « J'aime »

En tout cas ce qui m’intéresse dans le développement c’est l’algorithmie et la compréhension du métier de l’utilisateur en discutant avec lui.

Pour l’instant je n’ai jamais utilisé l’IA pour coder, mais si je m’en sers ça sera comme Stackoverflow, je veux comprendre le code avant de l’utiliser, sinon on n’apprend rien.
En plus comme dit l’islandais plus haut, on fait un pré-filtre de plusieurs réponses avant de choisir la plus adaptée, pour moi, comme dans tout les domaines, l’IA sera plus un outil d’aide que de faire à notre place, d’avoir un exemple pratique car les docs ne sont pas tout le temps claires.

Je vais ressortir le poncif, mais je vois l’arrivée de l’IA dans le développement comme les outils de RAD (Rapid Application Development) qui ont débarqué dans les années 90. On vendait ça comme un moyen de se débarrasser des développeurs parce que tout le monde pouvait développer sans compétences techniques. Ça a récemment été rebrandé en NoCode/LowCode pour relancer la hype. Au final, ça a répondu à quelques besoins simples, mais à part pour des prototypes, on finit toujours par faire appel à de vrais devs.
D’ailleurs, en ce moment même, mon équipe est en train de remplacer un fichier Excel abominable qui est directement branché sur une base de prod par une vrai appli bien testée.

2 « J'aime »

C’est très bien, Excel :ninja:
Clairement pas fait pour faire des applis, mais ça marche souvent mieux qu’un mauvais dev java et c’est développé en 10 fois moins de temps :grin:
(il y a une part de troll non negligable dans cette affirmation, tout autant qu’il y a une part non négligeable de vrai).

1 « J'aime »

Ha oui Access je connais :smiley:

Dis que c’est PM sans dire que t’es PM

1 « J'aime »

Je ne sais pas si dans IA c’est du machine learning ou de l’algorithme (pas la technicité pour différencier)

Mais je viens d’écouter le dernier podcast du collimateur concernant l’usage d’IA militaire au niveau de Gaza et de l’Ukraine…
Avec des révélations sur des ciblages erronés a Gaza (car la logique anti terroriste en temps de paix ne peut pas fonctionner tel quel en temps de guerre… comme par exemple le changement régulier de téléphone portable qui t’identifie comme à risque)
J’avoue que je n’avais pas pensé a l’usage militaire…mais ça fait un peu froid dans le dos

Un algorithme c’est une suite d’instruction bien définie. Une recette de cuisine peut être un algo (Cuire un oeuf au plat: 1. Allumer feu 2. Mettre poêle sur feu 3. Ajouter huile 4. Ajouter œuf 5. Attendre tempsOeuf=5min 6. Enlever œuf)

Le machine learning / apprentissage automatique c’est un type d’algo qui permet de modifier certains de ses paramètres après qu’il soit exécuté pour améliorer ses performance pour la prochaine fois (Exécuter « cuire un œuf au plat » en boucle, si couleur de l’œuf ~= noir, diminuer tempsOeuf, si couleur œuf~=translucide, augmenter tempsOeuf).

L’IA c’est un terme marking pour décrire une application codé pour résoudre des problèmes que les humains ont de la peine à résoudre.

3 « J'aime »

Ne veulent pas résoudre.
On peut automatiser des trucs pénible.

Je trouve sa réponse assez juste et mesurée par rapport aux points abordés même si ma conclusion perso est plus drastique que ça (il n’aborde pas le point énergétique/climatique. C’est une analyse métier de la chose)