What Every programmer has to know
about AI ?
Bill METANGMO – Data engineer
22/03/2018
About me
• Cameroon
• Design & development of an AI Platform to support
heterogeneous infrastructure
• Convergence between Supercomputing and AI
• Social networks: @BillMetangmo
Why this presentation matters ?
We will try to get an intuitive understanding of Artificial Intelligence
concepts and its impact on software development
Our judgment of reality is often based on cognitive biases
In our collective unconscious,
it most often looks like this
What is an Artificial Intelligence ?
The meaning of a word is contextual ( knowledge domain)
Machine that runs a program
What is a computer ?
( Computer science domain )
What is not a computer ?
( other domain(s) )
A computer is a laptop/desktop
Our definition of AI will be valid only in computer science
A computer would deserve to be called intelligent
if it could deceive a human into believing that it
was human.
Alan Turing
Turing test
But our smartphones are full
of apps from companies
(mainly GAFA) that argue to
use AI but I can differentiate
them from humans
AI definition proposal for current enterprise application
programmer
An artificial intelligence is an
application where all or part of the
business logic is based on functions
written by a computer.
Which of these applications is an AI ?
Facebook messenger assistant Google voice assistant
Without AI functions, enterprise application updates have
huge cost
An artificial intelligence manage most changing parts of
application : more flexibility
But what are the needs to build an application that produces
Knowledge ?
Human can gain Knowledge from Experience, it is necessary to understand
how it works to build an application which can learn
We will try to help this child to be able
to find the solution of the previous
quiz by herself
Great teachers
And what if we try to understand what’s
going on inside her brain
Each time she faces this problem; the region is activated
in her brain
Neural networks optimization are resource-intensive due to huge matrix
multiplication
MNIST database of handwritten digits = 60 000 images for training with 28*28 pixels
CPU is by far the most suitable for programmer everyday tasks :
listen to music while programming and chatting …
CPU is by far the best solution for most applications:
get users input while processing inputs and generating logs …
4 instructions in 4 cycles
GPU gets the instruction to execute from CPU !!
4 instructions in 4 cycles
3 unused PU
How an AI team works?
Focus on Data Exploration
Q: What happens when the number data science projects grows ?
A: The same than when the number of application a programmer works grow:
increasing the time from ideas to code development
• Deal with installation/configuration issues
• Heterogeneous infrastructure: external(cloud) or internal
• Dependency management for each application
Focus on Data Exploration
The solution already exists in traditional software development: Platform as a Service.
Not reinventing the wheel !
Web giants
• Uber
Michelangelo
• Facebook
FBLearner Flow
• Google
Tensorflow
extended
• Twitter Cortex
• ….
Cloud providers
• Amazon
SageMaker
• Microsoft AI
platform
• Google Cloud AI
• Oracle AI
Platform
• ….
Hadoop
distributors
• Cloudera
datascience
workbench
• MapR
Datascience
refinery
• Hortonworks
Data Cloud
• …
Supercomputing
leaders
• IBM Power AI
• HP Deep learning
solutions
• Atos AI platform
• ….
Supercomputers matters in AI because of very efficient
communication optimizations
• Data exchange from NIC to NIC : Infiniband instead of ethernet
lower latency
• Data exchange from app to app : Remote direct memory access (RDMA)
zero copy between user space and kernel space
Atos AI platform current architecture
Orchestrator
fast application deployment on multiple environments
Studio
Cognitive application development self-service
Forge
common workplace where to store, share, retrieve and update
Supercomputers
https://github.com/ystia/yorc
Conclusion
1. An artificial intelligence is also an application
2. The machine learning techniques are based on
human learning process with experience
3. Its programmers also needs a platform to
leverage their experience
@BillMetangmo
Photo Credits
• Slide 1 : Photo by Andy Kelly on Unsplash
• Slide 3 : Photo by Emily Morter on Unsplash
• Slide 4: https://www.magicalquote.com/seriesquotes/intuitions-are-not-to-be-ignored-john/
• Slide 5: Photo by Franck Veschi on Unsplash
• Slide 6: Photo by freestocks.org on Unsplash
• Slide 6: Photo by Franck Veschi on Unsplash
• Slide 7: https://upload.wikimedia.org/wikipedia/commons/e/e4/Turing_Test_version_3.png
• Slide 8: Photo by Stephen Frank on Unsplash
• Slide 9: https://www.codeproject.com/Articles/36847/Three-Layer-Architecture-in-C-NET
• Slide 10: https://media.giphy.com/media/qgFvTRIySNIC4/giphy-downsized.gif
• Slide 10: https://media.giphy.com/media/AvtBTzphrKqfm/giphy-downsized.gif
• Slide 13: Photo by Zhipeng Ya on Unsplash
• Slide 15: Photo by pan xiaozhen on Unsplash
• Slide 19: Photo by Zachary Nelson on Unsplash
• Slide 20: Photo by jesse orrico on Unsplash
• Slide 20: https://media.giphy.com/media/l0HlEEwgZfgqfH70c/giphy.gif
• Slide 21: https://i.giphy.com/media/HmNw5GoyPtaZa/giphy.gif
• Slide 25: https://en.wikipedia.org/wiki/Flynn%27s_taxonomy
• Slide 26: https://gph.is/1c0yaay
• Slide 27: https://jopwellcollection.jopwell.com/internedition/
• Slide 30: https://media.giphy.com/media/3o6Zt7Esrorq22OiGY/giphy-downsized.gif
• Slide 32: http://searchstorage.techtarget.com/definition/Remote-Direct-Memory-Access
• Slide 34: Photo by Jason Wong on Unsplash

What Every Programmer has to know about AI ?

  • 1.
    What Every programmerhas to know about AI ? Bill METANGMO – Data engineer 22/03/2018
  • 2.
    About me • Cameroon •Design & development of an AI Platform to support heterogeneous infrastructure • Convergence between Supercomputing and AI • Social networks: @BillMetangmo
  • 3.
    Why this presentationmatters ? We will try to get an intuitive understanding of Artificial Intelligence concepts and its impact on software development
  • 5.
    Our judgment ofreality is often based on cognitive biases In our collective unconscious, it most often looks like this What is an Artificial Intelligence ?
  • 6.
    The meaning ofa word is contextual ( knowledge domain) Machine that runs a program What is a computer ? ( Computer science domain ) What is not a computer ? ( other domain(s) ) A computer is a laptop/desktop
  • 7.
    Our definition ofAI will be valid only in computer science A computer would deserve to be called intelligent if it could deceive a human into believing that it was human. Alan Turing Turing test
  • 8.
    But our smartphonesare full of apps from companies (mainly GAFA) that argue to use AI but I can differentiate them from humans
  • 9.
    AI definition proposalfor current enterprise application programmer An artificial intelligence is an application where all or part of the business logic is based on functions written by a computer.
  • 10.
    Which of theseapplications is an AI ? Facebook messenger assistant Google voice assistant
  • 11.
    Without AI functions,enterprise application updates have huge cost
  • 12.
    An artificial intelligencemanage most changing parts of application : more flexibility
  • 13.
    But what arethe needs to build an application that produces Knowledge ?
  • 14.
    Human can gainKnowledge from Experience, it is necessary to understand how it works to build an application which can learn
  • 15.
    We will tryto help this child to be able to find the solution of the previous quiz by herself
  • 19.
  • 20.
    And what ifwe try to understand what’s going on inside her brain
  • 21.
    Each time shefaces this problem; the region is activated in her brain
  • 24.
    Neural networks optimizationare resource-intensive due to huge matrix multiplication MNIST database of handwritten digits = 60 000 images for training with 28*28 pixels
  • 26.
    CPU is byfar the most suitable for programmer everyday tasks : listen to music while programming and chatting … CPU is by far the best solution for most applications: get users input while processing inputs and generating logs … 4 instructions in 4 cycles GPU gets the instruction to execute from CPU !! 4 instructions in 4 cycles 3 unused PU
  • 27.
    How an AIteam works?
  • 30.
    Focus on DataExploration Q: What happens when the number data science projects grows ? A: The same than when the number of application a programmer works grow: increasing the time from ideas to code development • Deal with installation/configuration issues • Heterogeneous infrastructure: external(cloud) or internal • Dependency management for each application
  • 31.
    Focus on DataExploration The solution already exists in traditional software development: Platform as a Service. Not reinventing the wheel ! Web giants • Uber Michelangelo • Facebook FBLearner Flow • Google Tensorflow extended • Twitter Cortex • …. Cloud providers • Amazon SageMaker • Microsoft AI platform • Google Cloud AI • Oracle AI Platform • …. Hadoop distributors • Cloudera datascience workbench • MapR Datascience refinery • Hortonworks Data Cloud • … Supercomputing leaders • IBM Power AI • HP Deep learning solutions • Atos AI platform • ….
  • 32.
    Supercomputers matters inAI because of very efficient communication optimizations • Data exchange from NIC to NIC : Infiniband instead of ethernet lower latency • Data exchange from app to app : Remote direct memory access (RDMA) zero copy between user space and kernel space
  • 33.
    Atos AI platformcurrent architecture Orchestrator fast application deployment on multiple environments Studio Cognitive application development self-service Forge common workplace where to store, share, retrieve and update Supercomputers https://github.com/ystia/yorc
  • 34.
    Conclusion 1. An artificialintelligence is also an application 2. The machine learning techniques are based on human learning process with experience 3. Its programmers also needs a platform to leverage their experience @BillMetangmo
  • 35.
    Photo Credits • Slide1 : Photo by Andy Kelly on Unsplash • Slide 3 : Photo by Emily Morter on Unsplash • Slide 4: https://www.magicalquote.com/seriesquotes/intuitions-are-not-to-be-ignored-john/ • Slide 5: Photo by Franck Veschi on Unsplash • Slide 6: Photo by freestocks.org on Unsplash • Slide 6: Photo by Franck Veschi on Unsplash • Slide 7: https://upload.wikimedia.org/wikipedia/commons/e/e4/Turing_Test_version_3.png • Slide 8: Photo by Stephen Frank on Unsplash • Slide 9: https://www.codeproject.com/Articles/36847/Three-Layer-Architecture-in-C-NET • Slide 10: https://media.giphy.com/media/qgFvTRIySNIC4/giphy-downsized.gif • Slide 10: https://media.giphy.com/media/AvtBTzphrKqfm/giphy-downsized.gif • Slide 13: Photo by Zhipeng Ya on Unsplash • Slide 15: Photo by pan xiaozhen on Unsplash • Slide 19: Photo by Zachary Nelson on Unsplash • Slide 20: Photo by jesse orrico on Unsplash • Slide 20: https://media.giphy.com/media/l0HlEEwgZfgqfH70c/giphy.gif • Slide 21: https://i.giphy.com/media/HmNw5GoyPtaZa/giphy.gif • Slide 25: https://en.wikipedia.org/wiki/Flynn%27s_taxonomy • Slide 26: https://gph.is/1c0yaay • Slide 27: https://jopwellcollection.jopwell.com/internedition/ • Slide 30: https://media.giphy.com/media/3o6Zt7Esrorq22OiGY/giphy-downsized.gif • Slide 32: http://searchstorage.techtarget.com/definition/Remote-Direct-Memory-Access • Slide 34: Photo by Jason Wong on Unsplash

Editor's Notes

  • #4 This will not be about definitions of terms , process & procedures
  • #5 Donner du temps d’y réflechir ….
  • #6 Les biais cognitifs , les raccourcis de la pensée . L’example pafait c’est aussi les sigles, les mots qui se ressmblent ds une langue et l’autre
  • #7 Cependant la réalité elle-même est contextuelle. Qui reconnait cette machine ? La machine de turing ( avec une suite d’instructions simple -> complexes) est la première mais les autres n’ont pas tord. La machine à laver peut pas l’être car je peux y entrer , pas de wifi , pas de clavier ( boe chance pour convaicre)
  • #8 Pas trop loin non plus la dernière date de programmation puisque alan turing le premier d’entre nous …
  • #9 Pck déjà pour communiquer avec ells ,je clique Ou si j’utilise la voix, elle pt pas tenir une conversation On pourrait se dire qu’ils mentent mais pas forcément Beaucoup de mots dans la langue française n’ont plus rien à voir avec le mot d’origine
  • #10 Enterprise application pck tout le monde programme mais les matheux …. Une application qui utilise l’IA est donc une application don’t 1 ou plusieurs fonctions sont écrites par les ordinateurs. La logique metier est un ensemble de fonctions -> certaines fonctions ne serontplus écrites ni par vous ni par autre mais par un ordinateur
  • #11 laissez les gens penser puis : Règle : ce qui est important c’est la logique metier ( ici il faut que toutes les réponses duboy soient en dur) , il faut qu’une partie de ces function soit … (moteur de règles exclu) 1/ pas pck ça porte le nom chatbot donc , 1 google home ( presentation layer) 2/ il faut que le système de reconnaissance des couleurs (les fonctions) soit pas écrites pr un humain (nisp oki)
  • #12 Exemple d’application: Netflix catalogue Exemple compagnie reservation , ce changement est dû le plus souvent à de nouvelles façons de consommer l’application ce qui peut générer de nouvelles attentes: Appli web -> chatbot , appli mobile et qu’il y aura t-il après
  • #13 This will not be about definitions of terms , process & procedures Responsible MAJ automatique de la fonction
  • #14 L’application produit des fonctions or 1 function écrite par humain est morceau de savoir car cette function sait quelque chose ( addition 2 valeur, soustraire) donc L’application produit du savoir -> manifestation de la connaissance ( projection dans le code informatique de la connaissance)
  • #15 Kant & aristote: la connaissance intuitive vs la connaissance par experience . Qui vient avant l’autre -> débat philosophique don’t ce n’est pas le propos ici
  • #16 Elle devra comprendre elle-même qu’il faut qu’elle rajoute une case à chaque fois QUELQUE SOIT bien entendu la forme de l’objet Set rules: 1/ elle connaître pas les résultats de l’évaluation .
  • #17 Toutes ces approaches possibles sont en fait autant de techniques de machine learning: - Plus elle aura de cas , mieu xe sera aussi
  • #18 Nous ne sommes en contact avec elle que pendant la phase de test pour juger ( donc elle a pas forcément besoin de savoir le résultat) -> quel est la question, quell est la réponse avant de chercher le lien.
  • #19 Linear regression ou logistique c’est souvent gradient descendant qui lui et en fait un moyen d’advancer dans une directon en utilisant la dérivée.
  • #21 Sans le détruire évidemment
  • #22 Par exemple reconnaître la voix de kelkun c’est 1 chemin là dedans Reconnaître une musique c’est 1 chemin aussi etc …
  • #24 How object to input layer Number of hidden layers and neurons on each Ouput layer la réponse.
  • #25 Et chaque fois qu’on franchit un step , il y a des multiplications A chaque modification d’une valeur d’un poids, il faut reparcourir le graphe
  • #26 Cpu nécessite le temps de chercher la nouvelle instruction à chaque fois pourtant est la même ( addition/multiplication) en parallèle car matrice. Dans le GPU on charge une fois l’instruction
  • #27 4 different instructions in 4 clock Even if in parallel, load one data cost more than
  • #28 Elles reposent sur des hommes qui ont une certaine competence te les interactions entre celles-ci
  • #29 Hypothesis functions c’est pour les matheux ….
  • #30 Avec les contraintes.
  • #31 A dozen of datascientists potentially different stacks
  • #32 A dozen of datascientists
  • #33 les noueds échangenet les informatiosn sur les poids des neurones.
  • #34 A qui ressemble donc l’architecture ? très similaire aux autres à part la possibilité d’adresser des supercalculateurs