建推理模型:三個(gè)月吃透AI工程核心路線圖)
如果你跟我一樣是寫(xiě)代碼出身這幾年一定被問(wèn)過(guò)無(wú)數(shù)次“現(xiàn)在大模型都這么強(qiáng)了還有必要從零開(kāi)始學(xué)AI工程嗎”我自己的體會(huì)是這個(gè)問(wèn)題的答案取決于你到底想當(dāng)“用戶”還是“工程師”。用API、搭A(yù)gent、做RAG這是用戶視角幾天就能上手但如果你想在模型輸出異常時(shí)定位到是位置編碼的問(wèn)題想讀懂一篇新架構(gòu)論文想自己訓(xùn)練并部署一個(gè)能完成推理任務(wù)的小模型那“AI engineering from scratch”這條路繞不開(kāi)也省不掉。這篇文章我想把我自己從零開(kāi)始走通這條路的過(guò)程、踩過(guò)的坑、以及一套可以照著執(zhí)行的路線圖完整分享出來(lái)。它不適合只想趕緊調(diào)通接口的人適合的是愿意花三個(gè)月到半年用“自己動(dòng)手構(gòu)建”的方式把AI工程真正吃透的人。1. “從零開(kāi)始”的邊界在哪里不是重新發(fā)明輪子而是重走關(guān)鍵輪子的設(shè)計(jì)之路很多人一聽(tīng)“from scratch”就慌以為要像教科書(shū)那樣從晶體管理論開(kāi)始造芯片。不是的。我理解的從零是把你日常調(diào)用、訓(xùn)練、部署AI時(shí)遇到的核心概念每一步都親手實(shí)現(xiàn)一遍最小可用版本直到你能用自己的代碼解釋這些概念為止。1.1 從API調(diào)用到親手實(shí)現(xiàn)改變的是你的調(diào)試能力舉個(gè)最直觀的例子你調(diào)大模型API發(fā)現(xiàn)同樣的Prompt有時(shí)候正常有時(shí)候胡言亂語(yǔ)。如果是純用戶視角你只能換個(gè)Prompt試試運(yùn)氣不好就換模型。但如果你自己實(shí)現(xiàn)過(guò)注意力機(jī)制你就會(huì)立刻想到檢查輸入序列里是否存在異常長(zhǎng)文本、位置編碼的序列長(zhǎng)度是否超過(guò)訓(xùn)練上限、溫度參數(shù)是否過(guò)高導(dǎo)致概率分布過(guò)度平滑。這就是心智模型的差異。黑盒調(diào)用者靠玄學(xué)調(diào)參白盒構(gòu)建者靠機(jī)制定位。AI工程的核心能力從來(lái)不是“會(huì)調(diào)用”而是“會(huì)拆解”這正是“從零開(kāi)始”帶給你最值錢(qián)的東西。1.2 哪些輪子值得重走哪些輪子可以跳過(guò)我給自己定過(guò)一個(gè)原則凡是在你實(shí)際工作中大概率會(huì)碰到、且出了問(wèn)題需要你深入排查的模塊都要?jiǎng)邮謱?shí)現(xiàn)一遍凡是你純當(dāng)工具用的外圍組件了解原理即可。值得完整實(shí)現(xiàn)的我用一張表列出來(lái)模塊為什么值得手寫(xiě)實(shí)現(xiàn)到什么程度線性回歸 / Softmax分類(lèi)器理解梯度下降的直覺(jué)所有后續(xù)模型的基石能手動(dòng)求梯度并實(shí)現(xiàn)完整訓(xùn)練循環(huán)多層感知機(jī)MLP理解反向傳播與非線性表達(dá)力手寫(xiě)反向傳播不用自動(dòng)求導(dǎo)完成一輪更新Transformer 編碼器/解碼器預(yù)訓(xùn)練模型的絕對(duì)核心實(shí)現(xiàn)多頭注意力、殘差、LayerNorm、FFN分詞器Tokenizer數(shù)據(jù)入口影響一切下游效果親手實(shí)現(xiàn)BPE的合并邏輯自注意力各組件訓(xùn)練Debug必備能解釋并手工推導(dǎo)QKV維度和記憶體邏輯不值得重寫(xiě)的也有比如CUDA底層優(yōu)化、分布式通信協(xié)議、具體集群調(diào)度。這些屬于基礎(chǔ)設(shè)施原理層了解工程層直接用成熟方案就好。1.3 我把“徒手算維度”當(dāng)成入門(mén)考試這里分享一個(gè)我建議初學(xué)者反復(fù)練習(xí)的題目給定輸入形狀為[batch8, seq_len1024, d_model768]的張量過(guò)一層標(biāo)準(zhǔn)多頭注意力12頭每個(gè)頭維度64請(qǐng)寫(xiě)出每一步張量的形狀變化。q是[b, 1024, 12, 64]或合并維度后是[b, 12, 1024, 64]k同理注意力分?jǐn)?shù)是[b, 12, 1024, 1024]softmax之后乘v得到[b, 12, 1024, 64]再轉(zhuǎn)置合并回[b, 1024, 768]。能一口氣寫(xiě)清楚這些說(shuō)明你對(duì)注意力機(jī)制的空間結(jié)構(gòu)有了最基礎(chǔ)的直覺(jué)。這個(gè)直覺(jué)在后續(xù)所有模型調(diào)試?yán)锒紩?huì)反復(fù)用到。2. 地基三件套數(shù)學(xué)、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)到底要掌握到什么程度干這行最難回答的問(wèn)題之一就是“數(shù)學(xué)要學(xué)多深”。我的答案很務(wù)實(shí)學(xué)到能讀懂論文公式、能手推關(guān)鍵推導(dǎo)、能排查數(shù)值問(wèn)題的程度就行不需要成為數(shù)學(xué)家。2.1 數(shù)學(xué)學(xué)這些就夠了但必須真能用線性代數(shù)方面向量矩陣運(yùn)算、特征值分解、奇異值分解、矩陣求導(dǎo)和鏈?zhǔn)椒▌t的順序思維這幾樣最常用。概率論方面常見(jiàn)分布、極大似然估計(jì)、貝葉斯公式、信息論里的熵和交叉熵這決定了你怎么設(shè)計(jì)損失函數(shù)、怎么理解采樣。微積分方面偏導(dǎo)數(shù)、梯度、鏈?zhǔn)椒▌t這是反向傳播的全部基礎(chǔ)。數(shù)值計(jì)算方面數(shù)值穩(wěn)定性、梯度消失和梯度爆炸這直接關(guān)系訓(xùn)練成敗。我見(jiàn)過(guò)太多人卡在線性代數(shù)上被SVD勸退。其實(shí)在AI工程里你真正高頻使用的就是把矩陣乘法寫(xiě)成維度批量運(yùn)算、理解權(quán)重矩陣的秩對(duì)表達(dá)力的影響、識(shí)別數(shù)值溢出風(fēng)險(xiǎn)。2.2 機(jī)器學(xué)習(xí)不止是調(diào)庫(kù)核心是“驗(yàn)證思維”如果只學(xué)一個(gè)概念我選“驗(yàn)證”。為什么因?yàn)橛?xùn)練模型本質(zhì)就是反復(fù)做假設(shè)驗(yàn)證假設(shè)結(jié)構(gòu)能擬合數(shù)據(jù)分布假設(shè)優(yōu)化器能收斂假設(shè)這個(gè)超參數(shù)組合更優(yōu)。沒(méi)有驗(yàn)證思維就會(huì)變成盲人摸象。建議你重新理解過(guò)擬合、偏差方差權(quán)衡、正則化和數(shù)據(jù)劃分這四件事。它們聽(tīng)起來(lái)基礎(chǔ)但在后續(xù)做強(qiáng)化學(xué)習(xí)訓(xùn)練推理模型時(shí)你會(huì)發(fā)現(xiàn)評(píng)估集的設(shè)計(jì)、獎(jiǎng)勵(lì)模型的泛化能力全都圍繞同樣的邏輯展開(kāi)。2.3 深度學(xué)習(xí)的兩個(gè)分水嶺第一個(gè)分水嶺是能否不看任何參考徒手寫(xiě)出一個(gè)三層的反向傳播。第二個(gè)分水嶺是能否把Transformer論文里的公式逐行翻譯成張量操作??邕^(guò)這兩個(gè)分水嶺你再讀任何新模型論文都會(huì)輕松很多。我自己的檢查方法是每周挑一篇新發(fā)表的模型論文強(qiáng)迫自己在兩天內(nèi)完成一個(gè)極簡(jiǎn)復(fù)現(xiàn)。不追求性能只追求核心模塊跑通。這個(gè)方法進(jìn)步極快也最能檢驗(yàn)地基是否扎實(shí)。3. 手搓一個(gè)推理模型為什么“從零到Reasoning”是一條最優(yōu)路徑網(wǎng)絡(luò)熱詞里最近很流行“build a reasoning model from scratch”我深以為然。大模型從“會(huì)對(duì)話”到“會(huì)推理”是一個(gè)質(zhì)的跨越而實(shí)現(xiàn)這個(gè)跨越所需的思維鏈構(gòu)造、強(qiáng)化學(xué)習(xí)對(duì)齊、評(píng)測(cè)體系設(shè)計(jì)恰好把AI工程的全部關(guān)鍵節(jié)點(diǎn)串起來(lái)了。以它為目標(biāo)項(xiàng)目比單獨(dú)學(xué)某個(gè)知識(shí)點(diǎn)高效得多。3.1 先搞清楚這里說(shuō)的推理模型不是邏輯推理中文里“推理”容易跟傳統(tǒng)AI專(zhuān)家系統(tǒng)的“邏輯推理”混淆。這里說(shuō)的reasoning是模型在給出最終答案前先生成一段逐步思考的中間過(guò)程從而提高復(fù)雜問(wèn)題正確率的能力。你見(jiàn)過(guò)的“思維鏈”“自我反思”都屬于這個(gè)范疇。這類(lèi)能力可以通過(guò)訓(xùn)練讓模型獲得典型的做法是先用高質(zhì)量思維鏈數(shù)據(jù)做監(jiān)督微調(diào)再用強(qiáng)化學(xué)習(xí)讓模型學(xué)會(huì)自我探索。3.2 模型架構(gòu)選型我會(huì)這樣選既然目標(biāo)是訓(xùn)練一個(gè)小規(guī)模推理模型我不會(huì)從絕對(duì)零開(kāi)始而是選一個(gè)成熟基座做繼續(xù)訓(xùn)練或者用成熟開(kāi)源權(quán)重做初始化。這么做有兩個(gè)好處一是省掉海量預(yù)訓(xùn)練的成本二是能集中精力把“對(duì)齊”和“推理能力提升”這兩個(gè)環(huán)節(jié)吃透。具體選型上我推薦Decoder-only結(jié)構(gòu)并搭配這四件套組件選擇理由位置編碼RoPE外推能力強(qiáng)訓(xùn)練Pre和Post的坑少歸一化RMSNorm比LayerNorm省算力穩(wěn)定激活函數(shù)SwiGLU同樣參數(shù)下表達(dá)力更好注意力變體GQA減少KV Cache占用推理性?xún)r(jià)比高如果你用的是7B或13B級(jí)別的通用模型也可以跳過(guò)預(yù)訓(xùn)練直接微調(diào)。但如果目標(biāo)是把整條鏈路打通建議還是用百億以下參數(shù)、千億以上token練一個(gè)小模型全流程體驗(yàn)一遍。3.3 三步訓(xùn)練法普通語(yǔ)言模型怎么變成推理模型我用過(guò)一個(gè)相對(duì)成熟的三階段方案分享出來(lái)供你參考。第一步是預(yù)訓(xùn)練或繼續(xù)預(yù)訓(xùn)練。目標(biāo)是讓模型具備基本的語(yǔ)言能力和知識(shí)覆蓋。損失函數(shù)用交叉熵關(guān)注點(diǎn)是loss是否穩(wěn)步下降、困惑度是否合理。第二步是監(jiān)督微調(diào)SFT。目標(biāo)是讓模型養(yǎng)成輸出思維鏈的習(xí)慣。這一步的核心是數(shù)據(jù)思維鏈數(shù)據(jù)的質(zhì)量直接決定最終推理能力。數(shù)據(jù)來(lái)源可以是從已有強(qiáng)模型中蒸餾也可以人工標(biāo)注有代表性的推理軌跡。注意思維鏈不是越長(zhǎng)越好要有節(jié)制地讓模型學(xué)會(huì)關(guān)鍵步驟而不是廢話堆砌。第三步是強(qiáng)化學(xué)習(xí)。比較推薦GRPO這類(lèi)輕量方案它的好處是不需要單獨(dú)訓(xùn)練價(jià)值網(wǎng)絡(luò)顯存壓力和實(shí)現(xiàn)復(fù)雜度都更低。獎(jiǎng)勵(lì)信號(hào)可以來(lái)自答案正確性、格式規(guī)范性、思維鏈長(zhǎng)度的懲罰項(xiàng)等多個(gè)維度。這一步的目標(biāo)是讓模型在探索中自己發(fā)現(xiàn)更高效的推理路徑而不是只會(huì)復(fù)讀訓(xùn)練數(shù)據(jù)里的思維鏈。3.4 顯存和算力的現(xiàn)實(shí)賬不是非得有幾卡A100很多人一算預(yù)訓(xùn)練成本就放棄了但這里有一個(gè)務(wù)實(shí)的替代路徑用LoRA在消費(fèi)級(jí)顯卡上微調(diào)一個(gè)7B模型把訓(xùn)練數(shù)據(jù)重點(diǎn)放在思維鏈和推理指令上跑完GRPO變體。這條路依然能讓你完整經(jīng)歷“數(shù)據(jù)構(gòu)造→SFT→RL→評(píng)估→部署”的全部工程環(huán)節(jié)只是規(guī)模小一點(diǎn)。我算過(guò)一筆賬1B模型用BF16混合精度權(quán)重占2GB梯度2GB優(yōu)化器狀態(tài)如果用AdamW大約12GB激活值視序列長(zhǎng)度而定。一張24GB顯存的顯卡跑1B模型勉強(qiáng)能全參微調(diào)跑7B就需要LoRA。有條件上多卡就用張量并行跑7B的BF16訓(xùn)練兩張A100基本可以覆蓋。4. “訓(xùn)練完成”只算完成了前半程數(shù)據(jù)、評(píng)估、部署才是AI工程的地平線模型loss降下去那一刻很多人長(zhǎng)舒一口氣但我必須潑一盆冷水對(duì)AI工程師來(lái)說(shuō)訓(xùn)練完成只代表前半程結(jié)束。數(shù)據(jù)質(zhì)量、評(píng)估體系、部署性能這三塊才是把模型從“能跑”變成“能用”的關(guān)鍵。4.1 數(shù)據(jù)管線的設(shè)計(jì)原則臟數(shù)據(jù)比爛模型更可怕訓(xùn)練一個(gè)推理模型數(shù)據(jù)配比很講究。通用語(yǔ)料、數(shù)學(xué)、代碼、思維鏈樣例、安全對(duì)抗樣例各自的占比決定了模型最終的能力偏向。數(shù)據(jù)清洗階段要做去重、敏感信息過(guò)濾、語(yǔ)言過(guò)濾這些聽(tīng)起來(lái)不性感但效果立竿見(jiàn)影。一個(gè)常見(jiàn)的反直覺(jué)經(jīng)驗(yàn)訓(xùn)練數(shù)據(jù)不一定要最多但一定要最干凈。數(shù)據(jù)噪聲直接表現(xiàn)為loss震蕩和生成質(zhì)量的隨機(jī)性變差這些在事后極難排查。另外強(qiáng)烈建議你在數(shù)據(jù)管線里加上自動(dòng)質(zhì)檢流程定期抽檢若干條樣本人工確認(rèn)標(biāo)注是否符合預(yù)期。4.2 評(píng)估體系要放在訓(xùn)練之前設(shè)計(jì)這是我從失敗里學(xué)到的最大教訓(xùn)。第一次訓(xùn)模型時(shí)我訓(xùn)完了才去找評(píng)估集結(jié)果發(fā)現(xiàn)評(píng)估任務(wù)和訓(xùn)練數(shù)據(jù)分布差異過(guò)大完全不知道模型改進(jìn)方向。正確做法是訓(xùn)練開(kāi)始前就確定一份包含通用能力、代碼能力、數(shù)學(xué)能力、推理能力四個(gè)維度的評(píng)估集并建立一套可重復(fù)的評(píng)測(cè)腳本。推理模型的評(píng)估尤其要小心“正確率幻覺(jué)”。模型可能給出的最終答案正確但思維鏈里全是胡編的中間步驟。所以評(píng)估時(shí)要同時(shí)看三件事最終答案正確率、關(guān)鍵中間步驟的邏輯連貫性、以及思維鏈的平均長(zhǎng)度。理想情況是強(qiáng)化學(xué)習(xí)訓(xùn)練后平均正確率上升同時(shí)思維鏈長(zhǎng)度沒(méi)有無(wú)限膨脹。4.3 部署不是把權(quán)重文件拷到服務(wù)器就完了模型訓(xùn)練完你馬上會(huì)面對(duì)推理延遲、吞吐量、并發(fā)壓力這些工程問(wèn)題。KV Cache是第一個(gè)要優(yōu)化的點(diǎn)緩存歷史計(jì)算過(guò)的Key和Value避免每個(gè)token都重新計(jì)算全部歷史。KV Cache的顯存占用大約等于2 × 層數(shù) × 頭維度 × 序列長(zhǎng)度 × 字節(jié)數(shù)大模型跑長(zhǎng)序列時(shí)非常驚人??蚣軐用嫖医ㄗh直接用vLLM或同類(lèi)方案。它們的核心是PagedAttention技術(shù)把KV Cache按頁(yè)管理類(lèi)似操作系統(tǒng)內(nèi)存分頁(yè)有效降低碎片化。量化方面用INT8在絕大多數(shù)場(chǎng)景損失極小INT4在推理任務(wù)上要重點(diǎn)驗(yàn)證正確率衰減不要無(wú)腦壓縮。4.4 訓(xùn)練過(guò)程的可觀測(cè)性別讓模型在黑暗中進(jìn)化訓(xùn)練大模型時(shí)我從不斷跑一個(gè)輕量日志系統(tǒng)。至少需要追蹤訓(xùn)練loss、驗(yàn)證loss、梯度范數(shù)grad norm、學(xué)習(xí)率、縮放因子如果用混合精度和每個(gè)評(píng)估基準(zhǔn)的單獨(dú)得分。梯度范數(shù)是我個(gè)人的最優(yōu)先關(guān)注項(xiàng)。如果梯度范數(shù)突然飆升又恢復(fù)通常是數(shù)據(jù)里有異常樣本如果持續(xù)逼近極大值則大概率是數(shù)值不穩(wěn)定或者學(xué)習(xí)率過(guò)大。Loss突然spike很多時(shí)候不是模型壞了而是某些數(shù)據(jù)批次的分布極端先定位到具體樣本再動(dòng)手。5. 三個(gè)月實(shí)踐路線圖每個(gè)階段做什么、交什么、怎么驗(yàn)收這章直接給大家一份我驗(yàn)證過(guò)的、可執(zhí)行的節(jié)奏表。它默認(rèn)你每天能投入兩到三小時(shí)周末全天上大任務(wù)。如果時(shí)間不夠可以拉長(zhǎng)周期但順序不建議亂。5.1 第1到第4周基礎(chǔ)補(bǔ)課與迷你實(shí)現(xiàn)周次任務(wù)產(chǎn)出物第1周數(shù)學(xué)快速回爐重點(diǎn)是矩陣求導(dǎo)和概率完成10道典型推導(dǎo)題第2周手寫(xiě)線性回歸和MLP實(shí)現(xiàn)反向傳播一個(gè)不依賴(lài)自動(dòng)求導(dǎo)的可訓(xùn)練MLP第3周手寫(xiě)Transformer核心塊注意力、FFN、Residual、LayerNorm的完整實(shí)現(xiàn)第4周自己寫(xiě)B(tài)PE分詞器并跑通一個(gè)mini語(yǔ)言模型兩千萬(wàn)token訓(xùn)練級(jí)的mini模型第4周最關(guān)鍵。哪怕模型很小只要你能用自寫(xiě)代碼從數(shù)據(jù)到模型完整跑通一次訓(xùn)練循環(huán)你就過(guò)了最艱難的門(mén)檻。5.2 第5到第8周從普通語(yǔ)言模型邁向推理模型第5到第6周任務(wù)是數(shù)據(jù)準(zhǔn)備和SFT。你要準(zhǔn)備一份指令數(shù)據(jù)集和一份思維鏈數(shù)據(jù)集并用第4周的代碼做監(jiān)督微調(diào)。產(chǎn)出是模型能在限定領(lǐng)域內(nèi)按步驟回答問(wèn)題。第7到第8周任務(wù)是對(duì)齊和強(qiáng)化學(xué)習(xí)。我會(huì)建議你直接用一個(gè)開(kāi)源7B模型做LoRA變體實(shí)驗(yàn)把對(duì)比組設(shè)為“只SFT”和“SFT強(qiáng)化學(xué)習(xí)”在數(shù)學(xué)、代碼、謎題三類(lèi)評(píng)測(cè)集上做對(duì)照。這樣你能直觀看到思維鏈和強(qiáng)化學(xué)習(xí)帶來(lái)的效果提升。5.3 第9到第12周工程化與最終交付第9到第10周搭數(shù)據(jù)與評(píng)測(cè)閉環(huán)固化數(shù)據(jù)清洗、去重、評(píng)測(cè)腳本形成一條“訓(xùn)練一批評(píng)估一批”的流水線。第11周完成部署用vLLM做并發(fā)推理實(shí)測(cè)吞吐和延遲嘗試INT8量化對(duì)照正確率。第12周整合成Demo附帶完整的訓(xùn)練報(bào)告、評(píng)測(cè)報(bào)告、部署文檔。這三個(gè)月走完你會(huì)發(fā)現(xiàn)你不再依賴(lài)任何單一框架對(duì)模型內(nèi)部機(jī)制的每個(gè)環(huán)節(jié)都有自己的判斷。6. 那些文檔里不會(huì)寫(xiě)的坑與經(jīng)驗(yàn)最后分享一些實(shí)操中反復(fù)有人摔跤的點(diǎn)希望你能少走彎路。第一個(gè)坑是盲目追求數(shù)據(jù)量。很多人以為推理模型效果差是因?yàn)閿?shù)據(jù)集不夠大實(shí)際往往是指令數(shù)據(jù)里混入了大量低質(zhì)量重復(fù)樣本。我見(jiàn)過(guò)一個(gè)實(shí)驗(yàn)砍掉百分之三十的低質(zhì)量數(shù)據(jù)之后評(píng)估分?jǐn)?shù)不降反升。第二個(gè)坑是只盯loss而忽略文本質(zhì)量。語(yǔ)言模型的loss降到一定程度后就很難再反映質(zhì)量差異了。尤其是思維鏈數(shù)據(jù)復(fù)雜度指標(biāo)可能很接近但實(shí)際生成內(nèi)容完全不在同一水平必須抽樣肉眼檢查。第三個(gè)坑是復(fù)現(xiàn)論文只見(jiàn)骨架、沒(méi)見(jiàn)細(xì)節(jié)。論文里經(jīng)常省略的“小東西”學(xué)習(xí)率的預(yù)熱步數(shù)、權(quán)重衰減策略、輸出層的縮放因子、數(shù)據(jù)Shuffle的隨機(jī)種子這些全都會(huì)顯著影響復(fù)現(xiàn)效果。從論文到可靠復(fù)現(xiàn)之間往往隔著一堆沒(méi)人寫(xiě)出來(lái)的配置組合。第四個(gè)坑是忽略數(shù)值穩(wěn)定性。做混合精度訓(xùn)練時(shí)如果不做損失縮放很容易出現(xiàn)loss突然飛掉或者出現(xiàn)NaN。出問(wèn)題先查輸入數(shù)據(jù)有沒(méi)有NaN或極端值再查梯度最后才懷疑優(yōu)化器。第五個(gè)坑是我個(gè)人反復(fù)提醒自己的別把模型想成“萬(wàn)能引擎”。哪怕是訓(xùn)練好的推理模型也只在它見(jiàn)過(guò)的推理模式范圍內(nèi)表現(xiàn)好。工程上的破解辦法是體系化組件配合該用搜索就用搜索該用外掛工具就用外掛工具不要迷信單一模型。關(guān)于學(xué)習(xí)資源市面上一批“從零構(gòu)建大語(yǔ)言模型”類(lèi)的書(shū)籍和教程質(zhì)量都不錯(cuò)我的建議是你不要只當(dāng)讀者要一邊讀一邊復(fù)現(xiàn)代碼并且把書(shū)里的實(shí)驗(yàn)在自己的小語(yǔ)料上跑一遍。凡是能跑通的教程才是真正屬于你的經(jīng)驗(yàn)否則只是別人的目錄而已。走到這里如果你問(wèn)我“從零開(kāi)始”最終給你留下的是什么我的答案是一種面對(duì)任何新模型都不慌的底氣??吹揭粡埿录軜?gòu)圖你不會(huì)只知道這東西“看起來(lái)很強(qiáng)”而是有能力拆解它的每一個(gè)設(shè)計(jì)動(dòng)機(jī)判斷哪些是核心、哪些是包裝甚至能徒手構(gòu)造一個(gè)它的迷你版。這個(gè)東西一旦學(xué)會(huì)就沒(méi)人能拿走。如果你也想踏上這條路我的最后一個(gè)建議是別等所有基礎(chǔ)都打好了再動(dòng)手挑一個(gè)最感興趣的模型組件先用今天的周末把它從零實(shí)現(xiàn)出來(lái)。從第一行代碼跑通到loss開(kāi)始下降的那一刻起你會(huì)發(fā)現(xiàn)題圖上的所有困難都有了明確的答案。