æ˜‡è…¾å¼ é‡ç¼–译器(Ascend Tensor Compiler,简称ATC)是异构计算架构CANN体系下的模型转æ¢å·¥å…·ï¼Œ 它å¯ä»¥å°†å¼€æºæ¡†æž¶çš„网络模型或Ascend IR定义的å•ç®—åæè¿°æ–‡ä»¶ï¼ˆjsonæ ¼å¼ï¼‰è½¬æ¢ä¸ºæ˜‡è…¾AI处ç†å™¨æ”¯æŒçš„.omæ ¼å¼ç¦»çº¿æ¨¡åž‹ã€‚其功能架构如图1所示。
模型转æ¢è¿‡ç¨‹ä¸ï¼ŒATC会进行算åè°ƒåº¦ä¼˜åŒ–ã€æƒé‡æ•°æ®é‡æŽ’ã€å†…å˜ä½¿ç”¨ä¼˜åŒ–ç‰å…·ä½“æ“作,对原始的深度å¦ä¹ 模型进行进一æ¥çš„调优,从而满足部署场景下的高性能需求,使其能够高效执行在昇腾AI处ç†å™¨ä¸Šã€‚
å…¶ä¸ï¼š
用户也å¯ä»¥å°†å¼€æºæ¡†æž¶ç½‘络模型转æ¢åŽçš„离线模型转æˆjson文件,方便文件查看,也å¯ä»¥ç›´æŽ¥å°†å¼€æºæ¡†æž¶ç½‘络模型通过ATC工具转æˆjson文件。
Ascend IR定义的å•ç®—åæè¿°æ–‡ä»¶ï¼ˆjsonæ ¼å¼ï¼‰é€šè¿‡ATC工具进行å•ç®—å编译åŽï¼Œè½¬æˆé€‚é…æ˜‡è…¾AI处ç†å™¨çš„å•ç®—å离线模型,然åŽä¸Šä¼ 到æ¿ç«¯çŽ¯å¢ƒï¼Œé€šè¿‡AscendCL接å£åŠ è½½å•ç®—åæ¨¡åž‹æ–‡ä»¶ç”¨äºŽéªŒè¯å•ç®—å功能。
下é¢ä»¥å¼€æºæ¡†æž¶ç½‘络模型转æ¢ä¸º.omç¦»çº¿æ¨¡åž‹ä¸ºä¾‹ï¼Œè¯¦ç»†ä»‹ç»æ¨¡åž‹è½¬æ¢è¿‡ç¨‹ä¸ä¸Žå‘¨è¾¹æ¨¡å—的交互æµç¨‹ã€‚
æ ¹æ®ç½‘络模型ä¸ç®—å计算å•元的ä¸åŒï¼Œåˆ†ä¸ºTBEç®—åã€AI CPUç®—å,TBEç®—å在AI Core上è¿è¡Œï¼ŒAI CPUç®—å在AI CPU上è¿è¡Œã€‚在TBEç®—åã€AI CPUç®—å的模型转æ¢äº¤äº’æµç¨‹ä¸ï¼Œè™½ç„¶éƒ½æ¶‰åŠå›¾å‡†å¤‡ã€å›¾æ‹†åˆ†ã€å›¾ä¼˜åŒ–ã€å›¾ç¼–译ç‰èŠ‚ç‚¹ï¼Œä½†ç”±äºŽä¸¤è€…çš„è®¡ç®—å•å…ƒä¸åŒï¼Œå› æ¤æ¶‰åŠäº¤äº’的内部模å—也有所ä¸åŒï¼Œè¯·å‚è§ä¸‹å›¾ã€‚关于算å类型ã€åŸºæœ¬æ¦‚念ç‰è¯¦ç»†ä»‹ç»è¯·å‚è§ã€Šç®—å开呿Œ‡å—》。
原图优化时:GEå‘FEå‘é€å›¾ä¼˜åŒ–请求,并将图下å‘ç»™FE,FE匹é…èžåˆè§„则进行图èžåˆï¼Œå¹¶è¿›è¡Œç®—å选择,选择优先级最高的算å类型进行算å匹é…,最åŽå°†ä¼˜åŒ–åŽçš„æ•´å›¾è¿”回给GE。
优化åŽçš„å图åˆå¹¶ä¸ºæ•´å›¾ï¼Œå†è¿›è¡Œæ•´å›¾ä¼˜åŒ–。
å¦å¤–,GE将整图下å‘ç»™AI CPU Engine,AI CPU Engine读å–ç®—åä¿¡æ¯åº“,匹é…ç®—åæ”¯æŒçš„format,并将format返回给GE。
优化åŽçš„å图åˆå¹¶ä¸ºæ•´å›¾ï¼Œå†è¿›è¡Œæ•´å›¾ä¼˜åŒ–。