Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
PAI·Ö²¼Ê½»úÆ÷ѧϰƽ̨±à³ÌÄ£ÐÍÑݽøÖ®Â·
 
À´Ô´£ºÔÆÆÜÉçÇø ·¢²¼ÓÚ£º 2017-6-28
  3152  次浏览      28
 

ÕªÒª£º ÔÚÔÆÆÜ¼ÆËãÖ®ÂõÚ5ÆÚ¡ª´óÊý¾ÝÓëÈ˹¤ÖÇÄÜ´ó»áÉÏ£¬À´×Ô°¢ÀïÔÆ´óÊý¾ÝÊÂÒµ²¿µÄ¾Å·á·ÖÏíÁË¡¶PAI·Ö²¼Ê½»úÆ÷ѧϰƽ̨±à³ÌÄ£ÐÍÑݽøÖ®Â·¡·¡£ËûÖ÷Òª½éÉÜÁËÔÚ¼¯ÍÅÖÐʹÓûúÆ÷ѧϰ½â¾ö´óÊý¾ÝÎÊÌâʱÈçºÎͨ¹ý±à³ÌÄ£Ð͵ÄÑݽøÖð²½½â¾öÒµÎñÉϵÄÍ´µã¡£

ÔÚÔÆÆÜ¼ÆËãÖ®ÂõÚ5ÆÚ¡ª´óÊý¾ÝÓëÈ˹¤ÖÇÄÜ´ó»áÉÏ£¬À´×Ô°¢ÀïÔÆ´óÊý¾ÝÊÂÒµ²¿µÄ¾Å·á·ÖÏíÁË¡¶PAI·Ö²¼Ê½»úÆ÷ѧϰƽ̨±à³ÌÄ£ÐÍÑݽøÖ®Â·¡·¡£ËûÖ÷Òª½éÉÜÁËÔÚ¼¯ÍÅÖÐʹÓûúÆ÷ѧϰ½â¾ö´óÊý¾ÝÎÊÌâʱÈçºÎͨ¹ý±à³ÌÄ£Ð͵ÄÑݽøÖð²½½â¾öÒµÎñÉϵÄÍ´µã¡£ÆäÖУ¬ËûÖ»Òª·ÖÏíÁËMapReduce¡¢MPI¡¢Parameter Server±à³ÌÄ£Ð͵ÄÑݽø¹ý³Ì¡£

ÒÔÏÂÄÚÈݸù¾Ý´ó»áÊÓÆµÕûÀí¶ø³É¡£

ʲôÊÇPAI£¿

PAIµÄÈ«³ÆÊÇPlatform of Artificial Intelligence£¬Ö÷ÒªÔÚʹÓûúÆ÷ѧϰ×öÄ£ÐÍѵÁ·Ê±ÌṩÕûÌ×Á´Â·¡£»úÆ÷ѧϰ¼´·þÎñ£¬°Ñ»úÆ÷ѧϰ×÷Ϊ·þÎñ¶ÔÍâÍÆ³ö£¬´ó¼Ò¿ÉÒÔÔÚÆ½Ì¨ÉÏʹÓñȽÏÏȽøµÄ»úÆ÷ѧϰËã·¨¡£½«¶àÖÖÉî¶Èѧϰ¿ò¼Ü¼¯³Éµ½PAIÖУ¬Í¬Ê±»ùÓÚÉî¶Èѧϰ¿ò¼Ü°ü×°³É¸ü¼ÓÒ×ÓõÄ×é¼þ¡£¾ß±¸Òì¹¹µÄ¼ÆËã·þÎñÄÜÁ¦£¬°ÑCPU¼ÆËãÄÜÁ¦ºÍGPU¼ÆËãÄÜÁ¦Í³Ò»µ÷¶ÈÆðÀ´£¬Òì¹¹µÄ¼ÆËãÄÜÁ¦Í¸Ã÷£¬´ó¼ÒµÄ×¢ÒâÁ¦ÊÇÄÄЩ»úÆ÷ѧϰËã·¨¿ÉÒÔ°ïÖúÒµÎñ£¬²»ÓùØÐĵײã×ÊÔ´µÄÉêÇëºÍ·ÖÅä¡£PAIÒ²Ö§³ÖÔÚÏßÔ¤²â·þÎñ£¬Ä£ÐÍÒ»¼ü·¢²¼¡£

´ó¹æÄ£·Ö²¼Ê½»úÆ÷ѧϰµÄÌôÕ½

Êý¾Ý¹æÄ£ºÍÌØÕ÷»á²»¶ÏÔö¼Ó£¬Õâ¾Í»áµ¼ÖÂÄ£Ð͸´ÔӶȵÄÔö¼Ó£¬Ö®Ç°µÄÄ£ÐÍÒѾ­²»Äܹ»´¦ÀíÕâô¸ßµÄ¸´ÔÓ¶ÈÁË¡£ÌØÕ÷Ôö¼ÓÖ®ºó£¬Ä£ÐͱäµÃÔ½À´Ô½´ó£¬Ä£ÐͺÜÄÑ×öµ½µ¥»ú¼ÓÔØ£¬ËùÒÔÔÚÄ£Ðʹ洢ʱÐèÒª×ö·ÖƬºÍÇз֡£ÔÚ³£¹æµÄ»úÆ÷ѧϰÀïÃæ£¬¸ü¶àµÄ×¢ÒâÁ¦·ÅÔÚÀí½âÒµÎñµÄÊý¾Ý¡¢ÌØÕ÷£¬¶øÏÖÔÚµÄ×¢ÒâÁ¦»á×ªÒÆµ½Ä£Ðͱ¾Éí£¬¸ü¶à¿¼ÂÇÔõôͨ¹ýµ÷ÕûÄ£Ð͵Ľṹ´ïµ½¸üºÃµÄÔ¤²âЧ¹û¡£

±à³ÌÄ£ÐÍÑݽø

MapReduce±à³ÌÄ£ÐÍ

MapReduceºËÐĵÄ˼ÏëÊÇ·Ö¶øÖÎÖ®£¬¼´°ÑÊý¾ÝÇзֳɺܶà¿é£¬Ã¿¸ö½Úµã´¦ÀíÆäÖеÄһС¿é¡£×ö·Ö²¼Ê½ÏµÍ³Ê±»áÃæÁٺܶàÎÊÌ⣬±ÈÈçÏ£Íû¼ÆËãÈÎÎñ¿ÉÒÔÔÚMapReduce¿ò¼Ü²ãÃæ×öÇзֺ͵÷¶È¡£MapReduce´Ó¿ò¼Ü²ãÃæ¼«´óµØ½µµÍÁ˰ÑÈÎÎñÇ¨ÒÆµ½·Ö²¼Ê½¼ÆËãϵͳÉϵÄÄѶȺÍÃż÷¡£¶ÔÓÚÊý¾ÝµÄ·Ö²¼Ê½´æ´¢ºÍ»®·Ö£¬Êý¾Ý¿É·ÖÉ¢´æ´¢ÔÚ¼¸Ç§Ì¨»úÆ÷ÉÏ£¬²¢ÇÒ¶¼ÓÐÏàÓ¦¸±±¾£¬²»ÐèÒªµ£ÐÄÊý¾ÝµÄ¶ªÊ§£¬µ×²ãµÄ·Ö²¼Ê½´æ´¢»áͳһ½øÐд¦Àí¡£¼ÆËãÈÎÎñµÄͬ²½ºÍ¼ÆËã½ÚµãµÄÈÝ´íÓë»Ö¸´£¬ÈôʹÓÃÆÕͨ»úÆ÷È¥´î´óÐͼÆËãȺµÄʱºò£¬»úÆ÷µÄå´»úʱ±È½ÏÆÕ±éµÄÏÖÏó£¬Ê¹ÓÃMapReduceÔò²»ÐèÒª¹ØÐÄÕâÒ»µã¡£ÓÒͼÊÇMapReduceµÄ±à³ÌÄ£ÐÍ£¬×î³õÊÇÓÃÀ´´¦ÀíSQLµÈÎÊÌâ¡£

ÔÚ»úÆ÷ѧϰÀïÃæ£¬ÓÐЩËã·¨ÊÇ»ùÓÚMapReduce±à³ÌÄ£ÐÍȥʵÏֵġ£TF-IDFÓÃÀ´ÆÀ¹ÀÎĵµÀïÃæµ¥´ÊÊÇ·ñÄܱíʾÎĵµÖ÷Ìâ¡£Ê×ÏȼÆËãÎĵµÀïÃæµ¥´Ê³öÏֵįµÂÊ£¬°Ñν´ÊºÍ̾´ÊÈ¥µô£¬¹Ø×¢ÕæÕýÓÐÒâÒåµÄ´Ê¡£IDFÔòÊÇͳ¼Æ¸Ã´ÊÔÚËùÓÐÎĵµÀïÃæ³öÏֵįµÂÊ£¬½«ÆäºÍÎĵµÀï³öÏֵįµÂʾ­¹ýËã·¨¼ÆËãµÃ³ö×îÖÕ½á¹û¡£Õâ¸ö¹ý³ÌÈçºÎͨ¹ýMapReduceʵÏÖÄØ£¿ÔÚMapperÖеü´úµÄÈ¥¼ÓÔØÃ¿Ò»ÆªÒªÑµÁ·µÄÎÄÕ£¬ÔÚµü´ú¹ý³ÌÖÐͳ¼ÆÃ¿¸öµ¥´Ê³öÏֵįµÂÊ¡£½«Í³¼Æ½á¹û·ÅÈëReducerÖУ¬½øÐмÆË㣬µÃµ½TF-IDF½á¹û±í¡£

MapReduce±à³ÌÄ£ÐÍÓÐÁ½¸öÌØµã£º²»Í¬¼ÆËãÈÎÎñÖ®¼ä¶ÀÁ¢£¬Ã¿¸öMapperºÍReducerÖ»»á¼ÆËã×Ô¼ºÏà¹ØµÄÊý¾Ý£¬Êý¾Ý²¢Ðжȸߣ»Êʺϲ»ÐèÒª²»Í¬½ÚµãͨÐŵĻúÆ÷ѧϰËã·¨¡£

MPI±à³ÌÄ£ÐÍ

Âß¼­»Ø¹éËã·¨ÊÇÐèÒª½Úµã¼ä½øÐÐͨÐŵ쬏ÃËã·¨ÔÚ¸öÐÔ»¯ÍƼöÖпÉÒÔ¾­³£¿´µ½¡£¸öÐÔ»¯ÍƼöËã·¨ÊÇָÿ¸öÈ˵ã»÷½øÀ´Ö®ºó»á½øÐзÖÀ࣬ÅжÏÊÇ·ñ»á¶ÔijЩÉÌÆ·¸ÐÐËȤ£¬È»ºó½øÐÐÍÆ¼ö¡£Ä£Ðͺ¯ÊýÈçÉÏͼÖй«Ê½Ëùʾ£¬¶¨ÒåËðʧº¯Êý£¬Ëðʧº¯ÊýֵԽС˵Ã÷Ä£ÐÍÄâºÏÔ½ºÃ£¬Ñ°ÕÒËðʧº¯Êý×îСֵµÄ¹ý³ÌÖÐÓõ½ÁËÌݶÈϽµËã·¨¡£

ÔçÆÚ£¬ºÜ¶àÂß¼­»Ø¹éËã·¨¶¼ÊÇ»ùÓÚMPI±à³ÌÄ£ÐÍʵÏֵģ¬MPIÊÇÏûÏ¢´«µÝ½Ó¿Ú£¬¶¨ÒåÁËSend£¬Receive£¬BC°¢Ë¹Í¼£¬AllReduce½Ó¿Ú£¬Ö§³Öµ¥»ú¶àInstanceºÍ¶à»ú¶àInstance£¬¾ßÓи߶ÈÁé»î£¬ÃèÊöÄÜÁ¦Ç¿£¬´óÁ¿ÓÃÓÚ¿ÆÑ§¼ÆËã¡£

MPIʹÓÃʱÓкܶàÏÞÖÆ£¬Ê×ÏȱØÐëÌáǰ֪µÀ½×¶ÎÈÎÎñÔÚÄÄЩ¼ÆËã½ÚµãÉÏ×ö¡£ÔÚ´ó¹æÄ£µÄ¼ÆË㼯ȺÀïÃæ£¬ËùÓÐ×ÊÔ´µÄ·ÖÅä¶¼ÊǶ¯Ì¬µÄ£¬ÔÚÈÎÎñÖ´ÐÐ֮ǰ²»ÖªµÀÈÎÎñ»áµ÷¶Èµ½ÄÄЩ½ÚµãÉÏ£¬µ«ÊÇÔçÆÚÓкܶàËã·¨ÐèÒª»ùÓÚMPIʵÏÖ£¬ËùÒÔ¶ÔMPIµ×²ã×öÁËÍøÂçÍØÆËµÄ½¨Á¢£¬×öÁË´óÁ¿µÄÖØ¹¹£¬°ïÖúMPIÏà¹Ø³ÌÐòÄܹ»»ùÓÚ·Ö²¼Ê½µÄµ÷¶Èϵͳµ÷¶ÈÆðÀ´¡£

Âß¼­»Ø¹éµÄʵÏÖ¹ý³ÌÈçÉÏͼËùʾ¡£ÆäÖУ¬ÓÐn¸ö¼ÆËã½Úµã£¬Ê×ÏÈ»á¼ÓÔØÑµÁ·Ñù±¾£¬¼ÆËãÌݶȣ¬È»ºó±¾µØ¼ÓºÍ£¬×îºóµ÷ÓÃAllReduce½Ó¿ÚÈ¥¼ÆËãÏÖÔÚÄ£ÐÍËùÔÚµÄλÖá£MPI±¾Éí»¹´æÔÚһЩȱµã£ºÊ×ÏÈMPIÖÐWorkerµÄÊýÄ¿ÓÐÉÏÏÞ£¬µ±ÐèÒª¸ü¶à½ÚµãµÄʱºò»á·¢ÉúÐÔÄÜϽµ¡£

²ÎÊý·þÎñÆ÷Parameter Server

Parameter ServerºÍMPIÏà±È£¬ÔÚ¸ü¸ßµÄ²ã´Î¶¨ÒåÁ˱à³ÌÄ£Ðͺͽӿڡ£Parameter ServerÖÐÓÐÈý¸ö½ÇÉ«£¬Server½ÚµãÓÃÀ´´æ´¢Ä£ÐÍ£¬¼ÆËã½Úµã»á¼ÓÔØ²¿·ÖÄ£ÐÍ¡¢ÑµÁ·Êý¾Ý£¬Ã¿ÂÖµü´úʱÿ¸ö½Úµã»á¼ÆËãϸöÌݶȣ¬½«½ÚµãºÍServer½øÐÐͨÐÅ¡£CoordinatorÓÃÀ´ÅжÏѵÁ·ÊÇ·ñ½áÊø¡£´ËÍ⣬Parameter ServerÖ§³ÖÒ첽ͨÐŽӿڣ¬²»ÐèÒªÔÚ²»Í¬¼ÆËã½Úµã¼ä×öͬ²½¡£

°¢ÀïÔÚ2014ÄêϰëÄ꣬¶ÀÁ¢×ÔÑÐÁËPAI Parameter Server¼ÆËãÄ£ÐÍ£¬ÒÑÔÚ¼¯ÍÅÄÚ´ó¹æÄ£Ê¹Ó᣾ßÌå×öµÄ¹¤×÷ÈçÉÏͼËùʾ¡£MPIµÄÒ»¸öȱµãÊDz»Ö§³ÖÈÝ´í£¬¶øÃ¿ÌìÉÏÍǫ̀µÄ¼¯Èº»á³öÏÖ¸÷ÖÖ¸÷ÑùµÄ¹ÊÕÏ£¬PAI Parameter ServerÕë¶Ô´ó¹æÄ£¼¯Èº×öÁ˽ڵãÈÝ´í¹¦ÄÜ¡£Parameter Server¼¯³ÉºÜ¶àËã·¨£¬±ÈÈçÂß¼­»Ø¹éµÈ¡£

Éî¶Èѧϰ

Éî¶ÈѧϰÊÇÈ˹¤Éñ¾­ÍøÂçµÄÑÓÉ죬Ïà±ÈÖ®ÏÂÄܹ»Ö§³Ö¸üÉîµÄÍøÂç¡£ÉÏͼÖУ¬AlexnetÊǾí»ýÉñ¾­ÍøÂ磬×ܹ²ÓÐ8²ãÍøÂ磬Éî¶ÈѧϰÈç¹ûÏëÒª»ñµÃ¸üºÃµÄЧ¹û£¬±ØÐëÒª¹¹½¨Ò»¸ö¸üÉîµÄÉñ¾­ÍøÂç¡£Ëæ×ÅÉñ¾­ÍøÂç±äÉÐèÒª¸ü¶àµÄ²ÎÊý£¬²¢ÇÒÄ£ÐÍÒ²»á¸ü¼ÓÅӴ󡣶༶ѵÁ·ÔòÐèÒª¸ü¸ßÁ¿¼¶µÄͨÐÅÁ¿¡£

TensorFlow

TensorFlowÊǹȸèµÚ¶þ´úµÄÉî¶Èѧϰ¿ò¼Ü£¬Ö§³Ö¸÷ÖÖÉñ¾­ÍøÂ磬¾ßÓи߶ȵÄÁé»îÐÔ£¬·á¸»µÄÉçÇøÉú̬£¬Ö§³ÖCNN¡¢RNN¡¢LSTMµÈÍøÂç¡£

ÉÏͼÖÐTensorFlowµÄÀý×ÓÊÇÁ½²ãÉñ¾­ÍøÂç×öͼƬµÄ·ÖÀà¡£ÉÏÃæÍ¨¹ýAPI¶¨ÒåѵÁ·Í¼Æ¬ºÍ²âÊÔÊý¾Ý£¬½Ó×Ŷ¨ÒåÁËÄ£ÐÍ£¨softmax¶à·ÖÀàÄ£ÐÍ£©£¬¶¨ÒåËðʧº¯Êýͨ¹ý½»²æìØÀ´×ö£¬×îºóÑ¡ÔñÓÅ»¯º¯ÊýÕÒ×îÓŵ㡣ÏÂÃæ²¿·ÖÔòÊÇͨ¹ýAPI°ÑѵÁ·Êý¾Ýι¸øÄ£ÐÍÔÙ¼ÆË㵱ǰģÐ͵Ä׼ȷÂÊ¡£´ÓÉÏÀýÖУ¬¿ÉÒÔ¿´³ö£¬API·Ç³£Áé»î£¬»ùÓÚPython£¬ËùÒԷdz£·½±ã¡£

PAI TensorFlow

½«TensorFlowÇ¨ÒÆµ½PAIÉÏÖ®ºó£¬½«TensorFlow×÷Òµ·þÎñ»¯£¬ÆðTensorFlow×÷ÒµµÄʱºò²»ÐèҪȥÉêÇë×ÊÔ´¡¢×öѵÁ·Êý¾ÝµÄÇ¨ÒÆ£»·Ö²¼Ê½µ÷¶È£¨°üÀ¨µ¥»úºÍ¶à»ú£©Ö»ÐèÌύģÐÍѵÁ·PythonÎļþ£»GPU¿¨Ó³É䣻¶àÖÖÊý¾ÝÔ´£¬½á¹¹»¯Êý¾ÝºÍ·Ç½á¹¹»¯Êý¾Ý¶¼Ö§³Ö£»³¬²ÎÖ§³Ö£¬ÑµÁ·Ä£ÐÍʱ»áµ÷ÕûѧϰÂÊ£¬Í¨¹ý³¬²Î°Ñ²ÎÊý´æ½øÀ´¾Í²»ÐèҪÿ´Î¶¼µ÷ÕûÁË£»Ä£ÐÍÔÚÏßÔ¤²â£¬ÑµÁ·ºÃÄ£ÐÍÖ®ºó¿ÉÒÔ²¿Êðµ½ÔÚÏßÔ¤²â·þÎñÉÏ£¬µ÷ÓÃAPI»ñ֪ģÐͽá¹ûÊÇ·ñÕýÃæ¡£

PAI Pluto£¨¶à»ú¶à¿¨Caffe£©

CaffeÔçÓÚTensorFlow£¬Caffe¿ÉÒÔÈÏΪÊǵÚÒ»´úµÄÉî¶Èѧϰ¿ò¼Ü£¬Ê¹ÓÃCaffeʱÐèҪͨ¹ýÅäÖÃÎļþÅäÖÃÉî¶ÈѧϰµÄ¾í»ýÉñ¾­ÍøÂ·¡£Ä¿Ç°£¬ºÜ¶à¹ØÓÚͼÏñµÄÓ¦Óö¼ÊÇ»ùÓÚCaffeÀ´×öµÄ£¬Ê¹ÓÃCNNµÄÍøÂ磬±ÈÈçÉí·Ý֤ʶ±ð¡¢¼ÝÕÕʶ±ðµÈ¡£ÆäȱµãÊǵ¥»ú£¬µ±ÑµÁ·Ñù±¾¶àµÄʱºòѵÁ·Ê±¼ä·Ç³£³¤¡£½«Caffeµ×²ã¼Þ½Óµ½OpenMPIͨÐÅ¿ò¼ÜÉÏ£¬¿ÉÒÔÖ§³Ö¶à»úCaffe£¬Äܹ»´ïµ½ÏßÐÔ¼ÓËٱȡ£

×ܽá

ǰÎÄÌáµ½ÁËPAIÉÏÖ§³ÖµÄ¸÷ÖÖ±à³ÌÄ£ÐÍ£¬ÔÚ¹«ÓÐÔÆÉÏÏ£Íû°Ñ»úÆ÷ѧϰ×÷Ϊһ¸ö·þÎñÍÆ³öÀ´£¬°üÀ¨Êý¾ÝÉÏ´«¡¢Êý¾ÝÇåÏ´¡¢ÌØÕ÷¹¤³Ì¡¢Ä£ÐÍѵÁ·¡¢Ä£ÐÍÆÀ¼Û¡£ÕâÑù¾Í¿ÉÒÔÔÚPAIÉÏ×öһվʽµÄÄ£ÐÍѵÁ·ºÍÔ¤²â¡£

   
3152 ´Îä¯ÀÀ       28
Ïà¹ØÎÄÕÂ

»ùÓÚͼ¾í»ýÍøÂçµÄͼÉî¶Èѧϰ
×Ô¶¯¼ÝÊ»ÖеÄ3DÄ¿±ê¼ì²â
¹¤Òµ»úÆ÷ÈË¿ØÖÆÏµÍ³¼Ü¹¹½éÉÜ
ÏîĿʵս£ºÈçºÎ¹¹½¨ÖªÊ¶Í¼Æ×
 
Ïà¹ØÎĵµ

5GÈ˹¤ÖÇÄÜÎïÁªÍøµÄµäÐÍÓ¦ÓÃ
Éî¶ÈѧϰÔÚ×Ô¶¯¼ÝÊ»ÖеÄÓ¦ÓÃ
ͼÉñ¾­ÍøÂçÔÚ½»²æÑ§¿ÆÁìÓòµÄÓ¦ÓÃÑо¿
ÎÞÈË»úϵͳԭÀí
Ïà¹Ø¿Î³Ì

È˹¤ÖÇÄÜ¡¢»úÆ÷ѧϰ&TensorFlow
»úÆ÷ÈËÈí¼þ¿ª·¢¼¼Êõ
È˹¤ÖÇÄÜ£¬»úÆ÷ѧϰºÍÉî¶Èѧϰ
ͼÏñ´¦ÀíËã·¨·½·¨Óëʵ¼ù