ÓÉ AlphaGo µ½¿É×ÔÎÒ½ø»¯µÄ»úÆ÷ÈË£¬±ÈÄãÔ¤ÏëµÄÒª¿ì
ÈË»ú´óÕ½¿Â½àʤËã²»µ½Ò»³É£¬AlphaGo ÉíºóµÄ TPU ɱÉËÁ¦¾¿¾¹ÓжàÇ¿´ó£¿
×îºóµÄ̯ÅÆÖ®Õ½¡£
Ã÷Ì죬Éý¼¶°æ¡¸ AlphaGo 2.0¡¹½«ÔٴζÔÕ½ÈËÀඥ¼¶ÆåÊÖ£¬Õâ´ÎÊÇÅÅÃûÊÀ½çµÚÒ»µÄ¿Â½à¡£ÇòÃË»áµÇ¼Èë¿ÚÍøÒ³°æÔø±¨µÀ¹ýÈ¥ÄêµÄÈË»ú´óÕ½£¬AlphaGo ÔøÒÔ 4:1 սʤÀîÊÀʯ£¬½ñÄêÄê³õÓÖαװ³ÉÉñÃØÆåÊÖ¡¸Master¡¹ºáɨΧÆå½ç£¬»ñµÃ 60 ʤ 1 ºÍµÄ¼Ç¼£¬°üÀ¨´ò°Ü¿Â½à¡£
ΧÆå±»ÈÏΪÊÇÈËÀàÖÇ»Û×îºóµÄ±¤ÀÝ£¬¶ø¿Â½àÊÇÄ¿Ç°ÊÀ½çÉÏÅÅÃûµÚÒ»µÄ¶¥¼âÆåÊÖ£¬Õⳡ±ÈÈüÒ²±»ÐÎÏóµÄÓ÷Ϊ¡¸×îºóµÄ̯ÅÆÖ®Õ½¡¹¡£¾¹ýÇ°¼¸´ÎµÄ¶ÔÞÄ£¬ÈËÀàÓë AlphaGo µÄʵÁ¦ÐüÊâÖ®´óÒѾÈúܶàÈ˲»¶ÔÈËÀà»ñʤ±§ÓÐÏ£Íû¡£ÖйúÆå̳ÁíһλÖØÒªÈËÎÊÀ½ç´óÈü¡¸8 ¹ÚÍõ¡¹¹ÅÁ¦ÉõÖÁÖ±ÑÔ£¬¿Â½àʤһ¾ÖµÄÏ£Íû²»×ã 10% ¡£
ÔÚÈ¥Äê¹È¸èI/O´ó»áÉÏ£¬¹È¸èÔø³Æ AlphaGo Ö®ËùÒÔÄÜ˳Àû»÷°ÜÀîÊÀʯ£¬ÊÇÒòΪÓÐÒ»¿î¡¸ÃØÃÜÎäÆ÷¡¹£¬ÄǾÍÊÇ TPU£¨Tensor Processing Unit£©£¬Ò»¿îרΪ¹È¸èÉî¶Èѧϰϵͳ TensorFlow ¶¨ÖÆµÄ AI оƬ¡£ ÏÂÃ棬ÇòÃË»áµÇ¼Èë¿ÚÍøÒ³°æ¾Í´øÄúÒ»Æð½â¿ªÓÐ¹Ø TPU µÄÃØÃÜ¡£
¹È¸èµÄһƪÂÛÎÄ£¬½ÒÃØ AIphaGo ±³ºóµÄ¡¸ÃØÃÜÎäÆ÷¡¹
ÔçÔÚ 2006 Äê £¬Google ¾ÍÔÚ¿¼ÂÇΪÉñ¾ÍøÂç¹¹½¨Ò»¸öרÓü¯³Éµç·£¨ASIC£©¡£ 2013 ÄêËæ×ÅÊý¾ÝÁ¿µÄ¼±ËÙÅòÕÍ£¬Ìá¸ß¼ÆËãÄÜÁ¦µÄÐèÇó¿ªÊ¼±äµÃ¸ü¼ÓÆÈÇС£
2015 Äê 11 Ô£¬¹È¸è¿ªÔ´ÁËÆäÍõÅÆ»úÆ÷ѧϰϵͳ TensorFlow£¬´ÎÄê 3 Ô£¬Ó¦ÓÃÁË TensorFlow Éî¶ÈѧϰϵͳµÄ AlphaGo ÔÚ¡¸ÈË»ú´óÕ½¡¹ÖÐÒ»Õ½³ÉÃû£¬Ò²Ê¹µÃҲʹµÃÕâ¿î AI ѧϰϵͳ¼°ÆäÓ²¼þ»ù´¡ TPU ÉùÃûÔ¶²¥¡£
×÷Ϊһ¸öÔƼÆËãÓ²¼þºÍÈí¼þϵͳ £¬TPU ÊÇרÃÅΪ»úÆ÷ѧϰ¶øÉè¼ÆµÄоƬ£¬Æä³öÏÖµÄʹÃüÔÚÓÚ¼ÓËٹȸèÈ˹¤ÖÇÄÜÂäµØµÄËٶȡ£ÆäµÚÒ»´ú TPU ±» AlphaGo È˹¤ÖÇÄÜϵͳÓÃ×÷ÆäÔ¤²âºÍ¾ö²ßµÄ»ù´¡£¬¿ÉÌṩ¸ß´ïÿÃë 180 ÍòÒڴθ¡µãÔËËãµÄÐÔÄÜ£¬´ó´ó¼ÓËÙÁ˶Ե¥¸ö´óÐÍ»úÆ÷ѧϰģÐ͵ÄÅàѵ¡£
²»¾ÃÇ°ÔÚ±¸ÊÜÖõÄ¿µÄ¹È¸èI/O 2017 ¿ª·¢Õß´ó»áÉÏ£¬¹È¸èÓÖÍƳöÁ˵ڶþ´ú TPU Éý¼¶°æ±¾£¬Ëü±ÈÒÔÍùÈÎºÎµÄ TPU ÔËÐеö¼Òª¿ì£¬¶øÇÒ¿ÉÒÔ¼ÓËÙѵÁ·ºÍÔËÐÐ ML Ä£ÐÍ¡£
ÉϸöÔ£¬¹È¸è»¹×¨ÃÅ·¢²¼ÁËһƪÂÛÎÄ£¬¹«²¼ÁË TPU һЩÏà¹ØµÄ¼¼Êõϸ½Ú£¬²¢Ö±½Ó½«±È¶ÔµÄìͷ¶Ô×¼ÁË AI оƬ¾ÞͷӢΰ´ï£¬±íʾ£º¡¸TPU´¦ÀíËٶȱȵ±Ç° GPU ºÍ CPU Òª¿ì 15 µ½ 30 ±¶¡¹¡£
ÇòÃË»áµÇ¼Èë¿ÚÍøÒ³°æÏÈÀ´¿´¿´ÕâƪÂÛÎÄ̸µ½µÄһЩÓÐ¹Ø TPU µÄÒªµã£¬ÐèÒªÌá¼°µÄÊÇ£¬ÏÂÁÐÊý¾ÝÊÇ»ùÓڹȸè×Ô¼º¹«Ë¾µÄ±ê×¼²âÊԵóöµÄ£º
- TPUÊÇÒ»ÖÖASIC£¬ÐèÒªÏÈÓà GPU ѵÁ·Éñ¾ÍøÂ磬ÔÙÓà TPU ×öÍƶϡ£
- TPUûÓÐÓë CPU ÃÜÇÐÕûºÏ£¬¶øÊÇÉè¼Æ³ÉÁËÒ»¸öPCIe I/O×ÜÏßÉϵÄд¦ÀíÆ÷£¬¿ÉÒÔÏñ GPU Ò»Ñù²åµ½ÏÖÓеķþÎñÆ÷ÉÏ¡£
- ÔÚÍƶÏÈÎÎñÖÐ £¬TPU ƽ¾ù±ÈӢΰ´ïµÄ Tesla K 80 GPU »òÓ¢Ìضû E5- 2699 v3 CPU Ëٶȿì 15 ÖÁ 30 ±¶×óÓÒ¡£
- Ò»¸ö TPU µÄ MAC ÊÇTesla K 80 µÄ 25 ±¶£¬Æ¬ÉÏÄÚ´æÈÝÁ¿´ïµ½K 80 µÄ 3.5 ±¶£¬¶øÇÒÌå»ý¸üС¡£
- TPUµÄ¹¦ºÄЧÂÊ£¨performance/Watt£¬Ã¿ºÄµç 1 ÍßµÄÐÔÄÜ£©±È GPU ºÍ CPU ¸ß³ö 30 ÖÁ 80 ±¶¡£
- Èç¹û¶Ô TPU ½øÐÐÓÅ»¯£¬¸øËüºÍK 80 Ò»Ñù´óµÄÄڴ棬ËûµÄËÙ¶ÈÄÜ±È GPU ºÍ CPU ¸ß 30 - 50 ±¶£¬¹¦ºÄЧÂÊ¸ß 70 - 200 ±¶¡£
ÂÛÎÄÁ´½Ó£ºIn-Datacenter Performance Analysis of a Tensor Processing Unit
ÕâƪÂÛÎĽ«ÔÚ½ñÄê 6 ÔÂÕýʽ·¢±íÓÚ¶àÂ׶à¾Ù°ìµÄ¼ÆËã»úÌåϵ½á¹¹¹ú¼ÊÑÐÌֻᣨInternational Symposium on Computer Architecture, ISCA£©ÉÏ¡£´«ÑԹȸèÒ²Ôø¿¼ÂÇÏñ΢ÈíÒ»ÑùÓà FPGA£¬ÒòΪ¿ª·¢ÆðÀ´¸ü¼ÓÁé»î¡£µ«ÊǾ¹ý²âÊÔÖ®ºó·¢ÏÖËÙ¶ÈÌáÉý²»¹»¡£
¹È¸è VS Ӣΰ´ï£¬Ò»³¡¿´ËÆÏõÑÌÃÖÂþµÄÕ½Õù£¬ÊµÔò¸÷ÓÐδÀ´
ÔڹȸèµÄÓ°ÏìÏ£¬ÆäËû¿Æ¼¼¹«Ë¾Ò²Â½Ðø¿´µ½ÁË AI ¶¨ÖÆ»¯Ð¾Æ¬Î´À´µÄ·¢Õ¹Ç±Á¦£¬ÖÁ½ñÒÑÓÐÊýÊ®ÖÖÀàËƵĶ¨ÖÆ»¯ AI оƬ½ÐøÎÊÊÀ¡£²»½öÈç´Ë£¬Ó¢Ìضû¡¢Î¢Èí¡¢ÈýÐÇÒ²·×·×Èë¾Ö£¬ÕâÈýüÄêÀ´ÔÚÉî¶ÈѧϰÁìÓòÏíÓÐÖ§ÅäÐÔµØλµÄоƬ¹©Ó¦ÉÌ Nvidia ±¶¸ÐѹÁ¦¡£
ΪÁË×ö³ö·´»÷ £¬Nvidia Ò²¿ªÊ¼¼ÓÇ¿ÆäÐÂÍÆµÄ GPU оƬµÄ¶¨ÖÆ»¯ºÍרҵÐÔ¡£ÔÚ²»¾ÃǰӢΰ´ï GTC ´ó»áÉÏ £¬Nvidia ·¢²¼ÁË»ùÓÚÐÂÒ»´úͼÐμܹ¹ Volta µÄTesla V 100 ¡£ÌØ˹À V 100 Å䱸ÁË 640 ¸ö Tensor Äںˣ¬ÄÜÌṩÌṩÁ˸ߴï 120 teraflops µÄ¡¢¾ªÈ˵ÄÉî¶ÈѧϰÄÜÁ¦£¬ËüÃÇÊÇרΪÔËÐÐÉîÈëѧϰÍøÂçÖÐʹÓõÄÊýѧÔËËã¶øÉè¼ÆµÄ¡£
×÷ΪоƬÖÆÔìÉ̵Ĵó¿Í»§£¬¹È¸è½ÒÄ» TPU ¶Ô CPU ¾ÞÍ·Ó¢ÌضûºÍ GPU ¾ÞͷӢΰ´ïÀ´Ëµ¶¼ÊDz»Ð¡µÄÉÌҵѹÁ¦¡£³ýÁËӢΰ´ï£¬Ó¢ÌضûÒ²ÔÚÈ¥ÄêÍƳöÁËÊÊÓÃÓÚÉî¶ÈѧϰµÄ´¦ÀíÆ÷¼Ü¹¹ºÍоƬ£¬ÒâÓûÀ©Õŵ±ÏµÄÊг¡·Ý¶î£¬µÖµ²¹È¸è´øÀ´µÄ³å»÷¡£µ«ÊÇÄ¿Ç°¿´À´£¬¡¸¶¨ÖÆоƬ¡¹µÄÐèÇó¿ÉÄܱÈËûÃÇÔ¤¼Æ»¹Òª¸üÉî¡£
µ«ÊÇ£¬Ò²Ðí¹È¸èÔ±¾²¢ÎÞÒâ²ÎÓëÕⳡ¾ºÕù ¡£GPU ¾ÞÍ·¡¢Ó¢Î°´ï CEO »ÆÈÊÑ«¾ÍÔø¸æËß¡º»ª¶û½ÖÈÕ±¨¡»£¬Á½ÄêÇ°¹È¸è¾ÍÒâʶµ½ GPU ¸üÊʺÏѵÁ·£¬¶ø²»ÉÆÓÚ×öѵÁ·ºóµÄ·ÖÎö¾ö²ß¡£¹È¸è´òÔì TPU µÄ¶¯»úÖ»ÊÇÏëÒªÒ»¿î¸üÊʺÏ×ö·ÖÎö¾ö²ßµÄоƬ¡£ÕâÒ»µãÔڹȸèµÄ¹Ù·½ÉùÃ÷ÀïÒ²µÃµ½ÁËÓ¡Ö¤ £ºTPU Ö»ÔÚÌض¨»úÆ÷ѧϰӦÓÃÖÐ×÷¸¨ÖúʹÓ㬹«Ë¾½«¼ÌÐøʹÓÃÆäËû³§ÉÌÖÆÔìµÄ CPU ºÍ GPU¡£
ÊÂʵÉÏ£¬ÑµÁ·Éñ¾ÍøÂçÄ£ÐÍ£¬»¹ÊÇÀë²»¿ª GPU ºÍ CPU¡£¶ø¶ÔÓÚ CPU ÖÆÔìÉ̶øÑÔ£¬ÕæÕýµÄÌôÕ½ÊÇÌṩÔÚ¿¼Âǵ½ÄܺĺÍЧÂʵÄÇ°ÌáÏ£¬¾ßÓм«¸ßÍÆÀíÐÔÄܵÄоƬ ¡£TPU ÊÇÒ»¿îÍÆÀíоƬ£¬Æä³öÏÖ²¢²»ÊÇΪÁËÈ¡´ú CPU »òÕßGPU£¬¶øÊÇ×÷ΪһÖÖ²¹³ä¡£
¾¡¹ÜÈç´Ë£¬ÓÉÓڹȸè TPU ÂÛÎÄÒýÆðµÄ·´ÏìÌ«´ó£¬ÆÈʹ¸ÐÊܵ½ÍþвµÄӢΰ´ïºÜ¿ì×ö³öµÄ»ØÓ¦¡£Ó¢Î°´ï»ØӦ˵ £¬GPU ÔÚ»úÆ÷ѧϰµÄÍÆÀí£¨inferencing£©·½ÃæÏà¶ÔÓÚ TPU ÓÐһЩÓÅÊÆ£¬»¹ÄÜÓÃÓÚ»úÆ÷ѧϰÖÐÉñ¾ÍøÂçµÄѵÁ·¡£Ó¢Î°´ïµÄ GPU ¸üͨÓÃһЩ£¬¹È¸èµÄ TPU Ôò±È½ÏרעÓÚÒ»¸öµã£¬Ó¦Óó¡¾°Ê®·Öµ¥Ò»¡£
Ӣΰ´ï¶Ô¹È¸èÔÚÂÛÎÄÖнøÐеĶԱÈϸ½ÚÓÐЩÒâ¼û£¬»ÆÈÊÑ«±íʾ £¬GPU µÄͨÓÃÐÔ¸ßһЩ ¡£ ÏÈÊǿ϶¨ TPU ÔÚÉî¶ÈѧϰµÄÕÅÁ¿´¦ÀíÁìÓòÓÐһЩÖغϣ¬Ëæºóͨ¹ýһЩϸ½ÚÀ´ÂÛÖ¤ GPU Ïà¶ÔÓÚ TPU µÄÓÅÊÆ£¬ÕâÒ²ËãÊÇÒ»³¡Î޹ؽôÒªµÄ˺±Æ°É¡£
´Ë´Î AlphaGo ÔٴζÔÕ½¿Â½à£¬Ò²ÊǶԹȸè TPU ¹ýÈ¥Ò»Äê¸Ä½øµÄÒ»´Î¼ìÑé¡£ÎÞÂÛÕⳡ±ÈÈü½á¹ûÈçºÎ£¬¶ÔÓÚ TPU£¬¶ÔÓÚTensorFlow£¬ÄËÖÁ¶ÔÓÚÈ˹¤ÖÇÄܶ¼²»»áÊÇÒ»¸öÖյ㣬¶øÊÇÒ»¸öոеÄÆðµã¡£