ä½è | Japson
æ¥æº | æ¨ä¸å± 士
0x00 åè¨
é¦å ï¼ãAIç åå·¥ç¨å¸æé¿æåãè¿ä¸ªé¢ç®å ¶å®æäºæ é¢å äºï¼åç¡®å°æ¥è¯´ï¼æ¬æå 容åºè¯¥æ¯ï¼âè¦æ³æ为ä¸åAIç åå·¥ç¨å¸ï¼éè¦å ·å¤åªäºæè½âã
å ¶æ¬¡ï¼æ¬æ对âAIç åå·¥ç¨å¸âè¿ä¸ªtitleçå®ä¹ï¼ä¹å¹¶ä¸æ¯å¤§å®¶ç¬¬ä¸å°è±¡ä¸çâç®æ³å·¥ç¨å¸âãâæ°æ®ç§å¦å®¶âã
å次ï¼æ¬æå®é ä¸ä½è ç»åç°é¶æ®µè¡ä¸åå±ãææ¯è¶å¿ä»¥åèªèº«å·¥ä½æ§è´¨ååºçå ³äºèªèº«å®ä½ãèä¸æè½ãåå±æ¹åçæèãå°±åéå ½ä¸çä¸çâèä¸æ»ç¥âï¼å½æ们å¨æ¸¸æä¸æ°å»ºä¸ä¸ªè§è²æ¶ï¼ä¼å å»äºè§£è¿ä¸ªèä¸çç¹ç¹ã天èµãæè½æ çä¿¡æ¯ï¼è¿æ ·æä¼å¨âç»çº§âçè¿ç¨ä¸å°èµ°äºå¼¯è·¯ã
æåï¼ä½è ä¸æ¯ä»ä¸ä¸ªå¾é«çè§åº¦æ¥å¯¹æ´ä¸ªæé¿ä½ç³»è¿è¡ä¸ä¸ªå ¨é¢å°éè¿°ãèæ¯ç«å¨éè·¯çå°ç¹ï¼ä¸ææ¸ç´¢ãä¸æåè¿ãä¸æå°è°æ´èªå·±çè§åãå æ¤æ¬æä¸ç®æ¯Best Practicesï¼å强ç®æ¯Beta versionï¼ä¹å¸æè½å大家ä¸æ交æµï¼ä¸æâåçâã
0x01 å ³äºAIè¡ä¸çæèç®æ³å·¥ç¨å¸çé¨æ§
AIç®æ³å·¥ç¨å¸å¹´èªç¾ä¸ï¼åºå±æ¯ä¸çå¹´èªé½æ80w⦠å»å¹´AI人æ缺å£å°±å·²ç»è¿ç¾ä¸ï¼ä»å¹´å°è¾¾500w⦠å å ¥ãXXXè®ç»è¥ãï¼XX天æé AIç®æ³å·¥ç¨å¸â¦å¨ç½ç»ä¸å æ¥çåç§ç±»ä¼¼ä¸é¢é£æ ·çå¸å¼ç¼ççæç« æ é¢ï¼åä½ è¯è¯´ç人工æºè½è¿ä¸ç«çä¸è½åç«çé¢åç¾å¥½çåæ¯ã仿ä½æ们çäºä¸¤é西ç书ãå¤çäºMNISTåå æµé¸¢å°¾è±ãå¨èªå·±çç¬è®°æ¬çµèä¸æäºå 个å ãå¾å°äºåæç¨ä¸ä¸æ ·çç»æï¼æäºå åºæ¯èµï¼æ们就已ç»æ¿å°äºAIé¢åçéè¡è¯ãæå转åç®æ³å·¥ç¨å¸ãæ¥å¤§åofferå°æ软äºä¸æ ·ã
ä½å®é ï¼ç°å¨AIç®æ³å·¥ç¨å¸çå°±ä¸é¾åº¦ååå ¥é¨æ§ï¼è¿æ¯æ们æ³è±¡çè¦é«ã
ä¸ä¸å¼ ç½ç»ä¸æµä¼ çâ诸ç¥é»æâå§
å¯ä»¥è¯´ä¸ç¹ä¸å¤¸å¼ ï¼ç°å¨å¾å¤å¤§åçæ ¡æç®æ³å²ï¼é¨æ§å°±æ¯æµ·å¤åæ ¡/985å·¥ç§é¢æ ¡çå士/ç¡å£«ãé¤äºæ¥æä¸å¦åå¹é çå¦æ¯è½å以å¤ï¼å·¥ç¨åºç¡ä¹è¦é常æå®ã
æ人说ï¼âæçç½ä¸è¯´ï¼AI人æ缺å£é常大ï¼æä¸å»å¤§åä¸å°±è¡äºï¼å ¶ä»çå ¬å¸è¦æ±æ²¡é£ä¹é«å§ï¼â
è¦æ±é«ä¸é«æä¸ç¥éï¼ä½æ¯æä¸ä¸ä¸¤ç¹ï¼
ç»å¤§å¤æ°å ¬å¸ï¼æ¯ä¸éè¦éä½£AIç®æ³å·¥ç¨å¸ï¼å³æ²¡æç¸å ³çä¸å¡éæ±ï¼ä¹è´æ ä¸èµ·ç®æ³å¢éçå¼é 2019å¹´ç 究çæ¥è人æ°290ä¸äººï¼é¢è®¡æç70ä¸äººï¼å ¶ä¸è®¡ç®æºæ¯çé¨ä¸ä¸ï¼å¹¶ä¸å ¶ä¸å¤æ°äººçç 究æ¹åé½æ¯ï¼ æºå¨å¦ä¹ ãæ°æ®ææä¹ç±»ãæ¤é´ç«äºä¹æ¿çï¼è¯¸å¦æ¤ç±»ï¼è½æªå¾å ¶ç®æ¯ï¼ä¹ç¥è§ä¸æã
AIä¼ä¸çç¹
å½ç¶ï¼æ说è¿äºä¸æ¯ä¸ºäºæå»å¤§å®¶çä¿¡å¿ï¼èæ¯è¦æåºç°å¨è¡ä¸å ççç¹ï¼AIå·¥ç¨åã
人工æºè½åå±å°ç°é¶æ®µï¼å·²ç»ä»å®éªå®¤ä¸çç®æ³èµ°åäºå·¥ç¨ååºç¨çé¶æ®µãä½æ¯ç®æ³è½å°å¹¶æ²¡ææ³è±¡ä¸ç顺å©ï¼å¼å§æè¶æ¥è¶å¤è¯¸å¦åºæ¯ç¢çåãåºç¨ææ¬é«ãå®éªå®¤åºæ¯å°å®é åºç¨åºæ¯ææå·®è·è¾å¤§çé®é¢è¢«æ´é²åºæ¥ï¼èè¿äºä¹æ为å½åé¶æ®µAIè½å°åºç¨è¿ç¨ä¸æ°ççç¹ã
é¢åå é«æ°´å¹³çpaperé½æ¯å ¬å¼å表çï¼é¤äºå°æ°çæ ¸å¿ç®æ³ï¼äººææµæµçAIä¼ä¸å¾é¾å¨ç®æ³æ§è½ä¸ä¸ååæå¼è·ç¦»ãé£ä¹AIä¼ä¸æ³è¦åä¸åï¼æ³è¦åæ¶ï¼è¡ä¸ç»åé¢å纵深æäºå³å®æè´¥çéè¦å ç´ ãéè¦ä¸æ²å°ä¸å¡é¢åï¼çåçæªå°è¿è¡æ¼æã
å¨ææ¯çªç ´-åä¸å-产åå-å·¥ç¨åçé¶æ®µè·¯çº¿ä¸ï¼é¤äºææ¯å¼ºï¼æ¥ä¸æ¥è¿æå¾å¤è·¯è¦èµ°ãè°è½å¤æ´å¥½æ´å¿«å°æç®æ³ä»å®éªå®¤ä¸æ¿åºæ¥ãååºå»ï¼æ´å¥½æ´å¿«å°å°æ¨¡å交ä»å°ä¸å¡åºæ¯ï¼çæ£äº§çå®é çä»·å¼ï¼è®©å®¢æ·æ»¡æï¼è°æè½æ´»å¾æ´ä¹ ã
对äºScientist/Researcherèè¨ï¼ææ¯å¯ä»¥æ¯ä¸ç¯è®ºæãä¸é¡¹ ImageNet ç«èµçå åãä¹å¯ä»¥æ¯ä¸ä¸ªéè¦æ°å¼ï¼æ¯å¦äººè¸è¯å«åç¡®çï¼ççªç ´ï¼ä½å¨åå¡ä¾§æ¥è¯´ï¼è®ºæä¸å å并ä¸å®ç¨ï¼å¦æææ¯æ æ³èè¿å®é²ã汽车ãéèçè¡ä¸ï¼åæååå®å®ç产åï¼å®¢æ·ä¸åä½ä¼ä¼´å°±ä¼æç»ä¹°åã
对äºAIä¼ä¸æ¥è¯´ï¼è½å¦æ·±å ¥äºè§£åè¡ä¸çä¸å¡æµç¨ãä¸å¡è§åãç¥è¯ç»éªï¼è¿èå°ææ¯è½å转å为ä¸å¡è§£å³æ¹æ¡åé ä»·å¼ï¼æ¯åå±çä¿éã
é£ä¹å¯¹äºæ们个人æ¥è¯´ï¼åºè¯¥å¦ä½åå±å¢ï¼
0x02 AIç åAIå·¥ç¨å
å¨ãML/DLç§æ®åï¼ä»sklearnå°tensorflowãä¸æä¸ï¼æ们è°å°ï¼
â¦â¦ é£ä¹å¯¹äºæ们è¿äºéç®æ³å²ä½ç人æ¥è¯´ï¼å°±æ²¡æåæ³æ¶åè¿ä¸é¢åäºä¹ï¼å ¶å®æ认为ï¼å¯¹äºä¼ä¸æ¥è¯´ï¼å¯¹äºAI人æçéæ±å为两ç§ï¼ä¸ç§æ¯å¦æ¯ççç人ï¼åè¿å¤§paperï¼æå¦æ¯çæ¯èµçç»æçãå ¬å¸éè¦ä»ä»¬å»åç®æ³ç 究ï¼ä¿æææ¯çé¢å æ§ï¼å¨ä¸å èµ¢å¾å£ç¢ï¼è¿æ ·æè½å¨é¢åå ä¿æ头é¨é¢åãå¦ä¸æ¹é¢ï¼äººå·¥æºè½æ©å·²ä¸æ¯ä¸ä¸ªæ¦å¿µäºï¼ä¼ä¸éè¦æä¸å¡é¨é¨çç®æ³è½å°ç人ï¼è½å¤å¿«éã稳å®ãé«æå°æå®éªå®¤ä¸çç®æ³è½å®å°ç产ç¯å¢ä¸ï¼è§£å³å®é é®é¢ç人ãè¿å°±éè¦é£äºå·¥ç¨åºåæå®ãè½å¤å®æå®å°å代ç ï¼å¹¶ä¸å¯¹ç®æ³æ¨¡åç解深å»ï¼è½å¤å¿«éå°AI项ç®å·¥ç¨åãè½å°æ产åºçå¤åå人æã
è¿æ¯åºäºè¿ä¸ªè§ç¹ï¼æå³å®å°èªèº«çæè½æ ååä¼ä¸éè¦ç第äºç§äººï¼ä¹å°±æ¯æ é¢ææåºçâAIç åå·¥ç¨å¸âãä»å®é çå·¥ç¨åºç¨è§åº¦åºæ¥ï¼focus人工æºè½é¡¹ç®è½å°çå ¨æµç¨ä»¥å解å³æ¹æ³ï¼æé«èªå·±çAIå·¥ç¨åè½åï¼ä»¥æ¤ä½ä¸ºä¸ªäººæ ¸å¿ç«äºåã
AI项ç®å ¨æµç¨
ç½ç»ä¸å¾å¤æç« æè¿°çæè°âæºå¨å¦ä¹ 项ç®å ¨æµç¨âï¼ä¾å¦ï¼æ°æ®æ¶éå¤çãç¹å¾å·¥ç¨ãè®ç»æ¨¡åã模åæµè¯ççãè¿å¥æµç¨å¯¹ä¸å¯¹ï¼å¯¹ãä½æ¯è¿è¿ä¸è½æ»¡è¶³ä¼ä¸çéæ±ã
AI项ç®æ¯å¢éåé åºçå ·æåä¸ä»·å¼ç产åãæå¡ä»¥å交ä»äº§ç©ãæçæç¡®çéæ±ã计åãå¨æãææ¬ã交ä»æµç¨ä»¥åéªæ¶æ åã
以ä¸ä»¥toBä¸å¡ä¸ºä¾ï¼å¯¹AI项ç®å ¨æµç¨è¿è¡ç®å梳çãtoCä¸å¡å¤§ä½å¦æ¤ï¼åªæ¯å°å®¢æ·æ¿æ¢æå ¬å¸ä¸å¡æ¹å³å¯ã
åæ¥éæ±æ²é确认 该ç¯è主è¦æ¯ç±éå®ãå®åå®æãäºè§£å®¢æ·çåºæ¬æ åµï¼è¾ å©å®¢æ·æ ¹æ®èªèº«ä¸å¡ææAIåºç¨åºæ¯ãæ ¹æ®å®é çä¸å¡éæ±ãæ°æ®è´¨éã硬件èµæºãææ产ç©æ¥è¯ä¼°å ·ä½çæ¹æ¡ä»¥å建模æè·¯ã POCé¶æ®µ Proof of Conceptãå¨å®æåæ¥çè¯ä¼°ä¹åï¼å¢ééè¦é对客æ·å ·ä½åºç¨è¿è¡éªè¯æ§æµè¯ï¼å æ¬ç¡®å®ä¸å¡åºæ¯è¾¹çãä¸å¡è¯å¤ææ ãæ°æ®è°ç ãèµæºéæ±ã硬件/å¹³å°é¨ç½²çã åºæ¯æ¹æ¡ç¡®è®¤ 该ç¯èéè¦å®åãç§å¦å®¶ãå·¥ç¨å¸çå¤è§è²ä¸å®¢æ·è¿è¡ç»è´çåºæ¯æ²éï¼æç¡®éæ±ãç¡®å®éªæ¶æ åãè¯ä¼°å·¥ä½éãå 为该é¶æ®µç»æåå³è¾åºSOWæ¹æ¡ï¼å æ¤éè¦åå¤æ²éå榷ã 建模å¼åé¶æ®µ 4.1 项ç®è¯¦ç»è§å 项ç®ç»çæ ¹æ®åæèµææä¾è¯¦ç»çæ¹æ¡è®¾è®¡ãåè½æ¸ åãèµæºæå ¥ãéç¨ç¢å®æçå 容ï¼å¬å¼é¡¹ç®å¯å¨ä¼ï¼æ确项ç®å 容ååå·¥èè´£ã 4.2 æ°æ®å¤ç ç§å¦å®¶å¨æç¡®ä¸å¡åºæ¯åéæ±åï¼å¯¹æ°æ®å¤çãå ¶å 容å æ¬ï¼æ°æ®è´¨éæ£æ¥ãETLå¤çï¼å·¥ä½éè¾å¤§ï¼ãè¿è¦å¯¹æ¸ æ´åçæ°æ®è¿è¡æ¢ç´¢æ§æ°æ®åæï¼Exploratory Data Analysisï¼ä»¥åå¯è§åå±ç¤ºãEDAè½å¤å¸®å©æ们å¨æ¢ç´¢é¶æ®µåæ¥äºè§£æ°æ®çç»æåç¹å¾ï¼çè³åç°ä¸äºæ¨¡å¼å模å 4.3 ç¹å¾å·¥ç¨ æ ¹æ®æ¢ç´¢æ§åæå¾å°çè¾åºï¼ç»åå¯¹å ·ä½ä¸å¡çç解ï¼å¯¹åæ£çæ°æ®æ¼è¡¨å¹¶è¿è¡ç¹å¾å·¥ç¨ã 4.4 建模 å½¢æåç建模ï¼å¹¶å¯¹æ ¹æ®ä¸å¡éæ±è¯ä¼°æ åè¿è¡ææéªè¯ãåç»éè¦ä¸æè¿è¡æ¨¡åè¿ä»£ï¼ç´å°æ»¡è¶³éæ±ï¼å¹¶å模åæææ±æ¥ã 4.5 ç³»ç»ç å å°è®ç»å¥½ç模ååå¸æå¡ãé¨ç½²ä¸çº¿ï¼å¼åå¤å´å¯¹æ¥ç³»ç»ä»¥åé¨åå®å¶ååè½çå¼åãè¾åºå¯è¿è¡çç³»ç»ã æµè¯ä¸çº¿ 对系ç»è¿è¡æµç¨æµè¯ãæ§è½æµè¯ï¼æ»¡è¶³éæ±å对项ç®è¿è¡äº¤ä»&éªæ¶ã 0x03 æ ¸å¿ç«äºå&æè½æ æ ¸å¿ç«äºå
éè¿å¯¹AI项ç®å ¨æµç¨çä»ç»ï¼æ们å°ç®å çåå°â建模å¼åé¶æ®µâçâç³»ç»ç åâé¨åãè½ç¶å¨ä¸é¢åªæ¯ä¸å¥è¯å¸¦è¿ï¼ä½æ¯å ¶ä¸çå·¥ä½éåææ¯å«éä¸å°ã
æèµ·æºå¨å¦ä¹ ï¼å°¤å ¶æ¯æ·±åº¦å¦ä¹ ï¼å¤§å®¶å¯è½ä¼å¯¹è¯¸å¦Tensorflowï¼Pytorchï¼Caffeeçå·¥å ·è³çè½è¯¦ãä½å ¶å®å¨å®é çæºå¨å¦ä¹ ççå½å¨æä¸ï¼è®ç»æ¨¡åï¼ä¸è¿°å·¥å ·ä¸»è¦è§£å³çé®é¢ï¼åªæ¯æ´ä¸ªæºå¨å¦ä¹ çå½å¨æçå¾å°ä¸é¨åã
æ°æ®å¦ä½åå¤ï¼å¦ä½ä¿è¯çº¿ä¸çº¿ä¸ä¸è´æ§ï¼æ¨¡åè®ç»å¥½äºå¦ä½åå¸å¼é¨ç½²ï¼å¦ä½æ建HAï¼éè¦æ¹éå¤çè¿æ¯å®æ¶å¤çï¼å®æ¶æ°æ®å¦ä½æ¼æ¥ï¼å¦ä½å¯¹æ¨¡åæå¡è¿è¡çæ§ãåè¦ï¼åæPaaSè¿æ¯MLaaSï¼
æºå¨å¦ä¹ å ·æ天ç¶çPiplineç¹æ§ï¼å¨ä¼ä¸éæ±ä¸ï¼å¤§å¤§å°å°çä¸å¡åºæ¯æä¼å¤ç模åï¼è¿äºæ¨¡åå¦ä½è¿è¡æå ãå¤çãåå¸ï¼ç¦»çº¿è®ç»ãæ¹éé¢ä¼°ãå®æ½é¢ä¼°ãèªå¦ä¹ çä»»å¡ç±»å交éï¼ä¸åå»ºæ¨¡å·¥å ·SklearnãTensorflowï¼Pytorchæé ç模åå¦ä½è¿è¡æ´åï¼å¼åæ¡æ¶Spark MLãFlink MLçå¦ä½ååã对æ¥ãç产ç¯å¢å¦ä½è¿è¡æ©å±å伸缩ï¼å¦ä½æ¯æAB Testï¼
为äºè§£å³è¿äºé®é¢ï¼æ°ççå¼æºæ¡æ¶å±åºä¸ç©·ï¼Googleèªç ç对æ¥KubernetsåTensorflowçå¼æºå¹³å°Kubeflowï¼Sparkå¢éæé çML pipelinesè¾ å©å·¥å ·MLflowï¼é èæä¾çæºå¨å¦ä¹ åæå¡å¹³å°BigMLï¼é¿éå·´å·´æ¨åºçåå¸å¼æºå¨å¦ä¹ å¹³å°SQLflowççãä¼å¤åå纷纷ååï¼ç®çå°±æ¯è§£å³AIå·¥ç¨ååºç¨ççç¹ã
è¿äºå·¥ä½é½æ¯éè¦ä¸å¤§æ¹å·¥ç¨å¸å»å®æãå æ¤ï¼æ认为äºè§£AIå·¥ç¨ååºæ¯ã解å³æ¹æ¡ï¼çæAI项ç®æµç¨ãæºå¨å¦ä¹ Piplineï¼ææ¡AIç³»ç»ç åãæå¡é¨ç½²ä¸çº¿è½åçå·¥ç¨å¸å°ä¼éæ¸æ为AIå¢éçä¸ååéã
æè½æ
ä¹åéºå«äºé£ä¹å¤ï¼æ¢æ¯æ¢³çæè·¯ï¼ä¹æ¯ä¸ºæ¥ä¸æ¥çç³»ååä¸ä¸ªå¼ç¯ãæç §æçåæ¥è®¡åï¼æè½æ 大æ¦å æ¬ï¼ä¸åå åï¼ï¼
å·¥ç¨è½åï¼ èº«ä¸ºå·¥ç¨å¸é¦å è¦æå·¥ç¨è½åï¼springboot/Netty/Thrift/çç¸å ³å·¥å ·æ¡æ¶ä¸å®è¦ææ¡ï¼å¾®æå¡æ¯æºå¨å¦ä¹ å¹³å°çåºç¡ã Spark SQLãSpark MLçæ´æ¯å¤§æ°æ®å·¥ç¨å¸ç¨æ¥åæºå¨å¦ä¹ çå©å¨ï¼ä¸ä½è¦ææ¡ãæ´è¦ä»ä¸æ½è±¡åºæµç¨åå¤çæ¹æ³ã 容å¨åï¼ dockeråk8sç°å¨å ä¹æ¯æºå¨å¦ä¹ é¨ç½²çå¿ å¤æè½ï¼ä¹æ¯ä¼å¤å¹³å°çåºç¡ã æ¯éè¦çåç½®æè½ã æºå¨å¦ä¹ &深度å¦ä¹ ï¼ ä¸è¦æ±è½å¤ææ¨ç®æ³ã模åä¼åï¼ä½è¦è½å¤äºè§£å«ä¹ãä¸æ使ç¨ï¼èµ·ç è¦æ为ä¸åä¼ç§çè°å ä¾ ï¼ä¹ä¾¿äºå¹æ°´ï¼ã å¼æºæ¡æ¶ï¼ å ¶å®ææè¿æç®å¦ä¹ kubeflowï¼å¹¶è¾åºå¦ä¹ ç¬è®°åæ»ç»å®è·µã æ¬æå ¶å®æ¯è¿ä¸ªç³»åçå¼ç¯ã å½ç¶ï¼åç»è¿ææè°æ´ã 0xFF åè®°å ¶å®è¿ç§ç±»åçæç« ï¼æ¯å纯çå¦ä¹ ç¬è®°ãææ¯æç« é¾åå¤äºãä¸æ¹é¢ï¼æ延ç迫使ææé¾åçæç« æ¾å¨åé¢åï¼å¦ä¸æ¹é¢ï¼å¼ºè¿«çå迫使æä¸å®è¦å¨ç³»åååºä¸ä¸ªå¼ç¯ãå ¶å®åå°æåï¼æ»è§å¾æ ¸å¿é¨åè¿å·®ç¹å¿ææï¼æ²¡ææå°çå¤ï¼è¿æ¯å 为ç®åæè¿æ²¡æè½åç«å¨ä¸ä¸ªå ¨å±çè§åº¦å¯¹èä¸ææ¯ä½ç³»è¿è¡ååï¼åªè½æ¢³çåºç®åçè§ååçæ³ãåç»è¦è¿éåæå们è¿è¡äº¤æµã
æäºäºæ æ¯ä¸å®è¦åçï¼çºµè§ä¸äºå¤§çåè¾ï¼æ ä¸ä¸æ¯å¨æ£ç¡®çæ¶ååäºæ£ç¡®çäºãæç¡®èªå·±çç®æ ï¼å¨åè¿çéè·¯ä¸ä¸æå¾®è°èªå·±çæ¹åï¼è¿æ ·æè½å¨è¿ä¸ªç«äºæ¿ççèä¸ä¸çåä¸å»ã
æ¥ä¸æ¥ä¼æç³»åçææ¯å¦ä¹ ç¬è®°ï¼èèå°å¦ä¹ çè¿è´¯æ§ï¼åæå¯è½æ¯ä¸äºåºç¡çdocker/k8sçç³»åï¼åæä¼ç 究ä¸äºå¼æºæ¡æ¶ãææ¯æç« å¯è½ä¼æ¯ç¥ä¹å³ï¼ç¥è¯ç¹ä¹ç¼ºä¹æ°æï¼ä½æ¯ç»è¿èªå·±çæ´çåå®è·µï¼åå ä¸èªèº«çç解ææï¼ç¸ä¿¡ä¼ä¸æå®åèªå·±çç¥è¯ä½ç³»ã