ä»åããAIã®éååã«ã¤ãã¦ãå¦ãã§ãããã¨æãã¾ããå
·ä½çã«ã¯ãéååãããã¨ã«ããæ¨è«ã®é«éåã«ã¤ãã¦èª¿ã¹ã¦ããããã¨æãã¾ãã
æè¿ã®ChatGPTãªã©ã«ä»£è¡¨ãããã大è¦æ¨¡è¨èªã¢ãã«ï¼LLMï¼ãã®ååã¨ãã¦ããéååã注ç®ããã¦ãã¦ãã¾ãã
éååã«ãã£ã¦ãä¸å®ã®ç²¾åº¦å£åã¯ããã¾ãããã¢ãã«ãå°ããããããæ¨è«é度ãæ¹åãããã§ãããã¨ãããã¨ãã¸ããã¤ã¹ã§æ¨è«ããéã«ããã使ããã¦ãã¾ãã
æè¿ãã¹ããã«LLMãæè¼ããã¨ãããã¥ã¼ã¹ãåºã¦ã¾ããã
AIã®éååã§ã¯ã大ããåãã¦ãPTQï¼Post Training Quantizationï¼ã¨å¼ã°ãããå¦ç¿å¾ã®éååãã¨ãQATï¼Quantization Aware Trainingï¼ã¨å¼ã°ãããå¦ç¿ä¸ã®éååããããã¾ãã
PTQã¯ãæ¢ã«å¦ç¿ãå®äºããã¢ãã«ã«å¯¾ãã¦ãéååããã¢ãã«ã«å¤æããææ³ã§ãQATããéååã®ç²¾åº¦å£åã¯å¤§ãããã®ã«ãªãã¾ãããæ軽ã«éååã試ããããããã使ããã¦ãã¾ãã
ä¸æ¹ãQATã¯ãå¦ç¿ä¸ã«éååã¢ãã«ãä½æããä»çµã¿ã使ç¨ããããã精度å£åã¯æä½éã«æãããã¨ãåºæ¥ã¾ãããå¦ç¿ãã¦ã¿ãªãã¨ããã®ç²¾åº¦å£åã確èªã§ããªããããPTQããæéããããã¾ãã
ç¾å¨ãPyTorchãTensorFlowã§å®è£
ããã¦ããQATã¯ãGoogleã2017å¹´12æã«arXivã«ç»é²ããè«æã®ãQuantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inferenceãããã¼ã¹ã«ãªã£ã¦ããã¨æãã¾ãã
ã¾ãã¯ãéååã®åºæ¬ããå¦ã³ããã®è«æã§QATã®çè«ãå¦ãã§ãããã¨æãã¾ãã
ããç¨åº¦ç解ã§ããããPyTorchã®éååå¦ç¿ã試ãã¦ã¿ã¦ããã®è«æã¨ã®éãããç¹å¾´ãªã©ãè¦ã¦ããããã¨æãã¾ãã
åèãµã¤ã
arxiv.org
www.docswell.com
metrica-tech.hatenablog.jp
qiita.com
ã¯ããã«
ãAIã¢ãã«ã®éååãã®è¨äºä¸è¦§ã§ããè¯ãã£ããåèã«ãã¦ãã ããã
AIã¢ãã«ã®éååã®è¨äºä¸è¦§
ã¨ã³ã¸ãã¢ã°ã«ã¼ãã®ã©ã³ãã³ã°ã«åå ä¸ã§ãã
æ°æ¥½ã«ãããã¨ãããããé¡ããããã¾ãð
ããã§ã¯ãã£ã¦ããã¾ãï¼
AIã®éååã®åºæ¬
ã¾ãã¯ãéååããå ´åã®ã¡ãªããã§ããè¨ç®ãé«éåãããçç±ã«ã¤ãã¦èª¬æãã¾ãã
æ¨è«æã®éååã«ããé«éå
AIã®å¦ç¿ã¯ãé常ã¯Float32ï¼4byteæµ®åå°æ°ç¹æ°ï¼ã§è¨ç®ãããæ¨è«ãåãåã§è¨ç®ããã¾ãã
ä¸æ¹ãä¾ãã°ã8bitéååã§ã¯ãint8ãuint8ã®1byteæ´æ°ãè¨ç®ã«ä½¿ããã¾ãããã£ããè¨ãã¨ãFloat32ã®1/4ã®ãµã¤ãºã«ãªããããARMã®CPUã®SIMDã使ç¨ããå ´åã«ãããã¤ã¹ã®1å½ä»¤ã§4åã®è¨ç®ãã§ãããã¨ã«ãªããFloat32ãããé«éã«è¨ç®ãããã¨ãã§ãã¾ãã
SIMDã¯ãSingle Instruction Multiple Dataã®ç¥ã§ã1ã¤ã®å½ä»¤ã§è¤æ°ã®ãã¼ã¿ã«å¯¾ãã¦åãå¦çãå®è¡ã§ãã¾ããSIMDã«ã¤ãã¦ã¯ã以ä¸ã®ãã¼ã¸ã詳ããã£ãã§ãã
qiita.com
Float32ã®ãã¼ã¿ã1byteæ´æ°ã«å¤æãã¦ãAIã®æ¨è«ãè¡ãï¼è¨ç®ããï¼ãã¨ã§ãFloat32ã§æ¨è«ããå ´åã«æ¯ã¹ã¦ãé«éã«æ¨è«ãããã¨ãã§ããããã§ãã
éååã«ãã精度å£å
éååããã¨è¨ç®ãéãå®è¡ãããã¨ãã§ãã¾ããããã¨ã®4byteã®æµ®åå°æ°ç¹æ°ï¼Float32ï¼ãä¿æãã¦ããæ
å ±ã1byteæ´æ°ã«å¤æããã®ã§ãä¸é¨ã®æ
å ±ãæ¬ è½ãã¦ãã¾ãã¾ãããããéååå¦ç¿ã®ç²¾åº¦å£åã®åå ã§ãã
ãã®éååã«ãã精度å£åã«ã¤ãã¦ãããå°ã詳ããè¦ã¦ããã¾ãã
ä¾ãã°ãç»åãå
¥åã¨ããæ¨è«ãè¡ãã¨ãã¾ãï¼ç»ååé¡ãç©ä½æ¤åºãã»ã°ã¡ã³ãã¼ã·ã§ã³ãªã©ï¼ãã«ã©ã¼ç»åã®å ´åã¯1ãã¯ã»ã«ã«ã¤ãRGBã®åè²ã256é調ã®3byteã®ãã¼ã¿ã«ãªãã¾ãã横300ãã¯ã»ã«ã縦300ãã¯ã»ã«ã®ç»åã®å ´åã300*300*3=270,000byte
ï¼27ä¸ãã¤ãï¼ ã®ãã¼ã¿ã«ãªãã¾ãããããæ£è¦åã¨ããå¦çãè¡ãã1byteã®ãã¼ã¿ãã0ãã1ãããã®Float32ãã¼ã¿ã«å¤æãã¦ï¼27ä¸ãã¤ãÃ4=108ä¸ãã¤ãï¼ãAIã¢ãã«ã«å
¥åãã¦æ¨è«ãããã¨ã«ãªãã¾ãã
éååãã¦æ¨è«ããå ´åã¯ããã®0ãã1ãããã®Float32ã®ãã¼ã¿ãã1byteã®æ´æ°ã«å
¨ã¦å¤æãã¾ããã©ãããã®ãã¨ããã¨ã1byteã®æ´æ°ã¯ã-128ãã127ã¾ã§è¡¨ç¾ã§ããã®ã§ãFloat32ã®ãã¼ã¿ãããã®-128ãã127ã®256éãã®ã©ããã®æ°åã«å²ãå½ã¦ã¾ãï¼ä¸å³ã®ã¤ã¡ã¼ã¸ï¼ã
Float32ã1byteæ´æ°ã«å¤æããæ¹æ³ã¯ãä¸è¬çã«ãé対称å¤æã¨ã対称å¤æãããã¾ãã
é対称å¤æã®å ´åãéååããã対象ãç¡é§ãªãéåå空éã§è¡¨ç¾ã§ãã¾ããä¸æ¹ã対称å¤æã®å ´åã¯ãæ£ã¨è² ãåãç¯å²ã§éååãããããå¤æã®è¨ç®ã¯ç°¡åã«ãªãã¾ãããé対称å¤æã«æ¯ã¹ã¦ã表ç¾åãä¸ãã£ã¦ãã¾ãã¾ãã
ãQuantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inferenceãã§ã¯ãé対称å¤æã使ç¨ããã¦ãã¾ãã
æ¨è«ã®è¨ç®ãçµãã£ãããæ´æ°ããã¨ã®Float32ã«æ»ãå¿
è¦ãããã¾ãããããã1byteã®ãã¼ã¿ãæ£ç¢ºã«Float32ã«æ»ããã¨ã¯ã§ãã¾ããã1byteã®ãã¼ã¿ã¯256éãã®ãã¼ã¿ãã表ç¾ã§ãã¾ãããFloat32ã«æ»ããã¨ãã256éãã®ãã¼ã¿ã«ãã復å
ã§ãã¾ããããããéååã«ãã精度å£åã®çç±ã«ãªãã¾ãã
ãã®ç²¾åº¦å£åãæãã工夫ãããããææ¡ããã¦ãã¾ãããQuantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inferenceãã§ããããã¤ãã®å·¥å¤«ãå
¥ã£ã¦ãã¾ãã
ã§ã¯ãå
·ä½çã«è«æã®å
容ãèªãã§ããã¾ãã
Abstract
以ä¸ã¯ããã¹ã¦ChatGPTã«ä¸¸æã翻訳ã§ãï¼ç¬ï¼
ç¥è½åã¢ãã¤ã«ããã¤ã¹ã®äººæ°ã®é«ã¾ãã¨ã深層å¦ç¿ãã¼ã¹ã®ã¢ãã«ã®è¨å¤§ãªè¨ç®ã³ã¹ãã«ãããå¹ççãã¤æ£ç¢ºãªç«¯æ«å
æ¨è«ã¹ãã¼ã ãæ±ãããã¦ãã¾ããç§ãã¡ã¯ãæ´æ°ã®ã¿ã®ç®è¡ã使ç¨ãã¦æ¨è«ãå®è¡ããéååã¹ãã¼ã ãææ¡ãã¦ãã¾ããããã¯ãä¸è¬çã«å©ç¨å¯è½ãªæ´æ°ã®ã¿ã®ãã¼ãã¦ã§ã¢ä¸ã§æµ®åå°æ°ç¹æ¨è«ãããå¹ççã«å®è£
ã§ãã¾ããã¾ããéååå¾ãã¨ã³ããã¼ã¨ã³ãã®ã¢ãã«ç²¾åº¦ãä¿æãããã¬ã¼ãã³ã°ææ³ãå
±åè¨è¨ãã¦ãã¾ãããã®çµæãææ¡ãããéååã¹ãã¼ã ã¯ã精度ã¨ç«¯æ«å
å¾
ã¡æéã¨ã®ãã¬ã¼ããªããæ¹åãã¾ãããããã®æ¹åã¯ãã©ã³ã¿ã¤ã å¹çã§ç¥ãããMobileNetsã§ãããææã§ãããImageNetåé¡ã¨äººæ°ã®ããCPUä¸ã§ã®COCOæ¤åºã§ç¤ºããã¦ãã¾ãã
ãªãã»ã©ããæ´æ°ã®ã¿ã®ç®è¡ã使ç¨ãã¦æ¨è«ãå®è¡ããéååã¹ãã¼ã ããéè¦ã§ãããå
·ä½çãªå®è£
ã¨ãã¦ã¯ãTensorFlow Liteã®ãã¨ãæãã¦ããã¨æãã¾ãã
ãéååå¾ãã¨ã³ããã¼ã¨ã³ãã®ã¢ãã«ç²¾åº¦ãä¿æãããã¬ã¼ãã³ã°ææ³ããQATã®ãã¨ã§ããã
ã§ã¯ã次ã«ããã¾ãã
1. Introduction
2ç« ã¨3ç« ãçè«ãªã®ã§ãããã¾ã§ã¯ãæµãèªã¿ãã¦ããã¾ããé·ãã®ã§ãããã¤ãã«åãã¦è¦ã¦ããã¾ãã
ç¾å¨ã®æå
端ã®ç³ã¿è¾¼ã¿ãã¥ã¼ã©ã«ãããã¯ã¼ã¯ï¼CNNï¼ã¯ãã¢ãã¤ã«ããã¤ã¹ã§ã®ä½¿ç¨ã«ã¯é©ãã¦ãã¾ãããAlexNet [20]ã®ç»å ´ä»¥æ¥ãè¿ä»£çãªCNNã¯ä¸»ã«åé¡/æ¤åºç²¾åº¦ã«ãã£ã¦è©ä¾¡ããã¦ãã¾ããããããã£ã¦ããããã¯ã¼ã¯ã¢ã¼ããã¯ãã£ã¯ã¢ãã«ã®è¤éããè¨ç®å¹çã«é¢ä¿ãªãé²åãã¦ãã¾ãããä¸æ¹ã§ãã¹ãã¼ããã©ã³ãAR/VRããã¤ã¹ï¼HoloLensãDaydreamï¼ãããã³ããã¼ã³ãªã©ã®ã¢ãã¤ã«ãã©ãããã©ã¼ã ã§ã®CNNã®æåããå±éã«ã¯ãããã¤ã¹ä¸ã®ã¡ã¢ãªã®å¶éã«åããã¦å°ããªã¢ãã«ãµã¤ãºãå¿
è¦ã§ãããã¦ã¼ã¶ã¼ã¨ã³ã²ã¼ã¸ã¡ã³ããç¶æããããã«ä½é
延ãå¿
è¦ã§ããããã«ãããCNNã®ã¢ãã«ãµã¤ãºã¨æ¨è«æéãæå°éã®ç²¾åº¦æ失ã§æ¸ããç 究åéãæ¥éã«çºå±ãã¦ãã¾ãããã®åéã®ã¢ããã¼ãã¯ããããã2ã¤ã®ã«ãã´ãªã«åããã¾ããæåã®ã«ãã´ãªã¯ãMobileNet [10]ãSqueezeNet [16]ãShuffleNet [32]ãããã³DenseNet [11]ãªã©ã®ãããªãè¨ç®/ã¡ã¢ãªå¹çã®é«ãæä½ãå©ç¨ããæ°ãããããã¯ã¼ã¯ã¢ã¼ããã¯ãã£ãè¨è¨ãã¾ããäºçªç®ã®ã«ãã´ãªã¯ãCNNã®éã¿ããã³/ã¾ãã¯æ´»æ§åã32ãããæµ®åå°æ°ç¹ããããä½ãããã深度ã®è¡¨ç¾ã«éååãã¾ããTernary weight networksï¼TWN [22]ï¼ãBinary Neural Networksï¼BNN [14]ï¼ãXNOR-net [27]ãªã©ã®ã¢ããã¼ãããã®æ¹æ³è«ãæ¡ç¨ãã¦ããããããç§ãã¡ã®èª¿æ»ã®ç¦ç¹ã§ããç¾å¨ã®éååã¢ããã¼ãã¯ã精度ã¨é
延ã®ãã¬ã¼ããªããèæ
®ããéã«ã2ã¤ã®ç¹ã§ä¸ååã§ãããã¨ãããã¾ãã
æ¨è«ã®é«éåã«ã¯ã2ã¤ã®ã¢ããã¼ããããã1ã¤ã¯ãè¨ç®/ã¡ã¢ãªå¹çã®é«ãæä½ãå©ç¨ããã¢ã¼ããã¯ãã£ãè¨è¨ããããã¨ã§ããã1ã¤ããéã¿ããã³æ´»æ§åã32ãããæµ®åå°æ°ç¹ããä½ãããã表ç¾ã«éååããããã¨ã§ããã®è«æã¯å¾è
ã®ã¢ããã¼ãã§ãã
ã¾ã第ä¸ã«ãããã¾ã§ã®ã¢ããã¼ãã¯é©åãªãã¼ã¹ã©ã¤ã³ã¢ã¼ããã¯ãã£ã§è©ä¾¡ããã¦ãã¾ããã§ãããæãä¸è¬çãªãã¼ã¹ã©ã¤ã³ã¢ã¼ããã¯ãã£ã§ããAlexNet [20]ãVGG [28]ãGoogleNet [29] ã¯ãã¹ã¦ãããããªç²¾åº¦åä¸ãå¼ãåºãããã«æå³çã«éå°ãã©ã¡ã¼ã¿åããã¦ãã¾ãããããã£ã¦ããããã®ã¢ã¼ããã¯ãã£ã®å§ç¸®ã容æã«è¡ããã¨ãã§ãããããã®ã¢ã¼ããã¯ãã£ã§ã®éååå®é¨ã¯ãæè¯ã®å ´åã§ãæ¦å¿µå®è¨¼ã«ã¨ã©ã¾ãã¾ãã代ããã«ãããæå³ã®ãã課é¡ã¯ãæ¢ã«é
延ã¨ç²¾åº¦ã®ãã¬ã¼ããªããå¹ççã§ããã¢ãã«ã¢ã¼ããã¯ãã£ãä¾ãã°MobileNetsãªã©ã®ã¢ãã«ãéååãããã¨ã§ãã
ãªããªãè¾è¾£ã§ããï¼ç¬ï¼ã
ããã¾ã§ã®ç 究ã¯ããããããã¢ã¼ããã¯ãã£ã対象ã«ãã¦ããã®ã ãããã¢ãã«ã®å§ç¸®ã¯ç°¡åã§ãæå³ãªããã¨ãèªåãã¡ï¼Googleï¼ã®å¹çåãããã¢ãã«ãMobileNetsããéååãã¦ãã³ããã¼ã¯ãããã¨è¨ã£ã¦ãã¾ãã
第äºã«ãå¤ãã®éååã¢ããã¼ãã¯ãå®éã®ãã¼ãã¦ã§ã¢ä¸ã§æ¤è¨¼å¯è½ãªå¹çæ¹åãæä¾ãã¦ãã¾ãããéã¿ã®ã¿ãéååããã¢ããã¼ãï¼[2, 4, 8, 33]ï¼ã¯ã主ã«ããã¤ã¹ä¸ã®ã¹ãã¬ã¼ã¸ã«é¢å¿ããããè¨ç®å¹çã«ã¯ãã¾ãé¢å¿ãããã¾ããã注ç®ãã¹ãä¾å¤ã¯ããã¤ããªãä¸å¤ããããã·ãããããã¯ã¼ã¯[14, 22, 27]ã§ãããããã®å¾è
ã®ã¢ããã¼ãã§ã¯ã0ã¾ãã¯2ã®ç´¯ä¹ã§ããéã¿ã使ç¨ãã¦ãä¹ç®ããããã·ããã§å®è£
ã§ããããã«ãã¦ãã¾ãããããããããã·ããã¯ã«ã¹ã¿ã ãã¼ãã¦ã§ã¢ã§å¹ççã§ããå ´åãããã¾ãããæ£ãã使ç¨ãããã¨ï¼ã¤ã¾ããã¤ãã©ã¤ã³åãããã¨ï¼ãå ç®åä½ãããé«ä¾¡ã§ã¯ããã¾ãããããã«ãä¹ç®ã¯ãªãã©ã³ããåºãå ´åã«ã®ã¿é«ä¾¡ã§ãããéã¿ã¨æ´»æ§åã両æ¹ã¨ãéååãããå¾ã«ãããã®æ·±ããæ¸å°ããã¨ãä¹ç®ãé¿ããå¿
è¦æ§ãä½ä¸ãã¾ããç¹ã«ããããã®ã¢ããã¼ãã§ã¯ãç´æãããã¿ã¤ãã³ã°ã®æ¹åãæ¤è¨¼ããããã®ããã¤ã¹ä¸ã®è¨æ¸¬ãã»ã¨ãã©æä¾ãã¾ãããããã©ã³ã¿ã¤ã ãã¬ã³ããªã¼ãªã¢ããã¼ãã¯ãéã¿ã¨æ´»æ§åã®ä¸¡æ¹ã1ãããã®è¡¨ç¾ã«éååãã¾ã[14, 27, 34]ããããã®ã¢ããã¼ãã§ã¯ãä¹ç®ã¨å ç®ã®ä¸¡æ¹ãå¹ççãªãããã·ããããã³ãããã«ã¦ã³ãæä½ã§å®è£
ã§ãã¾ãããã ãã1ãããã®éååã¯ãã°ãã°å¤§å¹
ãªæ§è½ä½ä¸ãå¼ãèµ·ãããã¢ãã«è¡¨ç¾ã«é度ã«å³ããå ´åãããã¾ãã
FPGAãã«ã¹ã¿ã ASICã使ããã¨ãæ³å®ãããã®ãå¤ããæ¤è¨¼ç°å¢ãæä¾ãã¦ããªãã¨è¨ã£ã¦ãã¾ããé度ãªä½ãããåã¯èãã精度å£åãå¼ãèµ·ããã¨è¨ã£ã¦ã¾ãã
ãã®è«æã§ã¯ãã¢ãã¤ã«ãã¼ãã¦ã§ã¢ä¸ã§ã®MobileNetsã®é
延ã¨ç²¾åº¦ã®ãã¬ã¼ããªããæ¹åãããã¨ã§ãä¸è¨ã®åé¡ã«åãçµã¿ã¾ããå
·ä½çãªè²¢ç®ã¯æ¬¡ã®ã¨ããã§ãï¼
ã»éã¿ã¨æ´»æ§åã8ãããã®æ´æ°ã¨ãã¦éååãããã©ã¡ã¼ã¿ï¼ãã¤ã¢ã¹ãã¯ãã«ï¼ã32ãããã®æ´æ°ã¨ãã¦éååããéååã¹ãã¼ã ï¼ã»ã¯ã·ã§ã³2.1ï¼ãæä¾ãã¾ãã
ã»Qualcomm Hexagonãªã©ã®æ´æ°æ¼ç®ã®ã¿ããµãã¼ããããã¼ãã¦ã§ã¢ã§å¹ççã«å®è£
å¯è½ãªéååæ¨è«ãã¬ã¼ã ã¯ã¼ã¯ï¼ã»ã¯ã·ã§ã³2.2ã2.3ï¼ãæä¾ããARM NEONã§ã®å¹ççã§æ£ç¢ºãªå®è£
ã説æãã¾ãï¼ä»é²Bï¼ã
ã»å®éã®ã¢ãã«ã§ã®éååããã®ç²¾åº¦æ失ãæå°éã«æããããã«ãéååæ¨è«ã¨å
±åè¨è¨ãããéååãã¬ã¼ãã³ã°ãã¬ã¼ã ã¯ã¼ã¯ï¼ã»ã¯ã·ã§ã³3ï¼ãæä¾ãã¾ãã
ã»MobileNetsã«åºã¥ãå¹ççãªåé¡ããã³æ¤åºã·ã¹ãã ã«ãã¬ã¼ã ã¯ã¼ã¯ãé©ç¨ããä¸æµã®ARM CPUã§ã®ãã³ããã¼ã¯çµæï¼ã»ã¯ã·ã§ã³4ï¼ãæä¾ãã¾ããããã«ãããImageNetåé¡[3]ãCOCOãªãã¸ã§ã¯ãæ¤åº[23]ãããã³ãã®ä»ã®ã¿ã¹ã¯ã§ãæå
端ã®MobileNetã¢ã¼ããã¯ãã£ã®é
延ã¨ç²¾åº¦ã®ãã¬ã¼ããªãã«ãããèããæ¹åã示ããã¾ãã
ãã®è«æã®æ¦è¦ã®ãããªã»ã¯ã·ã§ã³ã§ããéååã¹ãã¼ã ï¼çè«ï¼ãæä¾ããéååæ¨è«ãã¬ã¼ã ã¯ã¼ã¯ï¼TensorFlow Liteï¼ãæä¾ããéååãã¬ã¼ãã³ã°ãã¬ã¼ã ã¯ã¼ã¯ï¼TensorFlowã§æä¾ããQATã®ãã¨ï¼ããã¨è¨ã£ã¦ãã¾ãã
ç§ãã¡ã®ç 究ã¯ã[7] ããã¤ã³ã¹ãã¬ã¼ã·ã§ã³ãå¾ã¦ãã¾ãããã®å
è¡ç 究ã§ã¯ãä½ç²¾åº¦ã®åºå®å°æ°ç¹æ¼ç®ãå©ç¨ãã¦CNNã®ãã¬ã¼ãã³ã°é度ãå éããã¦ãã¾ããã¾ãã[31] ãããã¤ã³ã¹ãã¬ã¼ã·ã§ã³ãå¾ã¦ãã¾ãããã®å
è¡ç 究ã§ã¯ã8ãããã®åºå®å°æ°ç¹æ¼ç®ã使ç¨ãã¦x86 CPUä¸ã§ã®æ¨è«ãé«éåãã¦ãã¾ããç§ãã¡ã®éååã¹ãã¼ã ã¯ã代ããã«ã¢ãã¤ã«CPUä¸ã§ã®æ¨è«é度ã¨ç²¾åº¦ã®ãã¬ã¼ããªããæ¹åãããã¨ã«ç¦ç¹ãå½ã¦ã¦ãã¾ãã
以ä¸ã1ç« ã§ããã
ä»åã¯ããã¾ã§ã«ãã¾ãï¼æ¬¡åã¯2ç« ãèªãã§ããã¾ãã
æå¾ã¾ã§ãèªã¿ããã ãããããã¨ããããã¾ããã