GPU 模åè®ç»ææ¬ä¼å | AIçæåç¿»è¯
é®é¢ï¼å å¨ä¾¿å®ç DigitalOcean æºå¨ä¸ä¸è½½ 100GB ææ¬æ°æ®ï¼åå¤å°±ç»ªåï¼åå¯å¨ H200 GPU å®ä¾å¹¶è¿è¡å 鍿°æ®ä¼ è¾ä»¥è¿è¡è®ç»ï¼è¿æ¯å¦æ¯ä¸ä¸ªå¥½çç鱿¹æ³ï¼
åçï¼
æ¯çââè¿ä¸ä» æ¯ä¸ä¸ªé常好ççç¥ï¼ä¹æ¯æå¸¸ç¨ççé±çç¥ä¹ä¸ãä½ çæ³æ³å¨ææ¯ä¸æ¯å®å ¨åççï¼è®¸å¤å¢é齿¯è¿ä¹åçã以䏿¯ä¸ºä»ä¹è¿ä¸ªæ¹æ¡ææä»¥åå¦ä½æ£ç¡®æ§è¡ã
为ä»ä¹è¿è½çé±
H200 GPU å®ä¾æå ¶æè´µãä½ å¸æ GPU æ¶é´ = ä» æ§è¡è®ç»ï¼ä¸æ¶µçå ¶ä»ä»»ä½æä½ã
é误ç workflowï¼å·¥ä½æµï¼ï¼
å¯å¨ H200 â ä¸è½½ 100GB â é¢å¤ç â tokenize â è®ç»
ä½ ä¼å¨æ§è¡ CPU 任塿¶æµªè´¹æ°å°æ¶ç GPU 计费ã
æ£ç¡®ç workflowï¼ä½ çæ³æ³ï¼ï¼
便å®ç CPU æºå¨ï¼
ä¸è½½æ°æ®
æ¸
æ´æ°æ®
tokenize
æå
dataset
åç (shard) dataset
ç¶åï¼
å¯å¨ H200 â ä¼ è¾ â ç«å³è®ç»
ç°å¨ GPU ä» ç¨äºè®ç»ã
è¿å¯ä»¥èç 50â90% çææ¬ã
æ´å¥½åæ³ï¼å 宿ææé¢å¤ç
å¨ä¾¿å®çæºå¨ä¸ï¼åå¤å¥½ä¸åï¼
第 1 æ¥ â ä¸è½½åå§æ°æ®
100GB ææ¬
第 2 æ¥ â æ¸ æ´ä¸å»é (Clean & deduplicate)
ç§»é¤ï¼
- éå¤å 容
- HTML åå¾ä»£ç
- é误çç¼ç å½¢å¼
- æççè¡
è¿å¯ä»¥å°æ°æ®ä» 100GB åå°å° 60GB å·¦å³ã
第 3 æ¥ â Tokenize (é常éè¦)
å¨å¯å¨ GPU ä¹åå®ææ¤æä½ã
示ä¾ï¼
python tokenize.py
è¾åºï¼
dataset.bin
dataset.idx
è¿æ · GPU å°±ä¸ä¼å¨ tokenizing 䏿µªè´¹æ¶é´ã
第 4 æ¥ â å¯¹æ°æ®éè¿è¡åç (Shard dataset)
åå为å¤ä¸ª chunkï¼
train_000.bin
train_001.bin
train_002.bin
...
è¿æ ·å¯ä»¥æé«ï¼
- å è½½é度
- åå¸å¼è®ç» (distributed training) æç
- æ¢å¤è®ç» (resume training) çä¾¿å©æ§
第 5 æ¥ â å¯å¨ H200
ç´å°æ¤æ¶æå建 GPU å®ä¾ï¼
H200 å¯å¨
scp æ°æ®éå° GPU
ç«å³å¼å§è®ç»
å®ç¾ã
æ´çé±çæå·§ï¼è¿é¶çï¼
çè³ä¸éè¦ä¼ è¾ï¼ç´æ¥ä½¿ç¨ shared storageï¼
é项 Aï¼
- å°æ°æ®éä¸ä¼ å°å¯¹è±¡åå¨ (object storage / S3)
- å¨ GPU å®ä¾ä¸æè½½ (mount)
é项 Bï¼
- 使ç¨å é¨ VPC ç½ç»
- éè¿ NFS æè½½
é项 Cï¼æä½³ï¼ï¼
- 对ç£çå¶ä½å¿«ç § (snapshot)
- å°å¿«ç §ä½ä¸ºç£çæè½½å° H200
ç¶åï¼
å¯å¨ H200
æè½½ç£ç
ç«å³è®ç»
è¿æ¯æå¿«ä¸æä¾¿å®çæ¹å¼ã
ææ¬æä¼åç Pipeline
çæ³ç工使µï¼
便å®ç CPU Droplet
â
ä¸è½½æ°æ®é
æ¸
æ´æ°æ®é
Tokenize æ°æ®é
Shard æ°æ®é
â
å¶ä½ç£çå¿«ç
§ (Snapshot)
â
ä»å¿«ç
§å建 H200 å®ä¾
â
ç«å³è®ç»
è¿å°±æ¯ä¸ä¸ LLM è®ç»çå®è·µæ¹å¼ã
é¢å¤çä¼åï¼å¤æ°äººä¼å¿è®°ï¼
åæ¶åå¤å¥½ï¼
- tokenizer æä»¶
- config.yaml
- è®ç»èæ¬ (training script)
- wandb (å·²å ³éæå·²é 置就绪)
- checkpoint æä»¶å¤¹
ç¡®ä¿ GPU åªéæ§è¡ï¼
python train.py
å¹¶ç«å»å¼å§è¿è½¬ã
å¯¹ä½ æ³æ³çç»è®º
æ¯çï¼ä½ çæ¹æ³æ¯ï¼
- æ£ç¡®ç â
- ä¸ä¸ç â
- è¡ä¸éç¨ç â
- èç大ééé±ç â
- å¼å¾æ¨èç â
ä½ æ£å¨ä»¥ GPU æ¶é´ä¼å (GPU-time optimization) çæç»´æèï¼è¿æ£æ¯äººä»¬ä½ææ¬è®ç»æ¨¡åçæ ¸å¿æ¹å¼ã
è¿ç§æç»´æ¨¡å¼åæ ·éç¨äºè®ç»ï¼
- nanoGPT
- Qwen å¾®è°
- LLaMA å¾®è°
- èªå®ä¹ LLMs
ä½ çæ¹åå®å ¨æ£ç¡®ã
