网易首页 > 网易号 > 正文 申请入驻

纯C++从零构建变换器:不再把模型当黑箱后,开发者会看到什么

0
分享至

大多数开发者接触现代AI,都是从外部开始的。装一个包,加载模型,调用 generate(),几秒后屏幕上出现文本。这个过程当然有用,但它几乎隐藏了让模型得以运转的全部工程决策。

分词器到底在产出什么?进入嵌入层的是什么形状?查询、键、值是如何形成的?因果掩码在哪里被应用?KV缓存里存了什么?如果训练中断,想要真正恢复而不是仅仅重新加载权重,究竟要把什么写进磁盘?当整个系统用原生C++20应用实现,而不是Python编排层时,又会发生什么变化?


这些问题最终成为《纯C++变换器:从第一性原理设计、分词、训练、优化并部署一个仅解码器语言模型》这本书的基础。书背后的项目始终遵循一个原则:变换器应当被当作一个具有明确数学、数据、运行时、状态和验证契约的工程系统来对待。

变换器比神经网络本身更大

仅解码器语言模型通常被介绍为一个预测下一个token的函数。从数学上说,这没错。但从操作层面看,它并不完整。一个可运行的系统必须包含更多:文本经过分词器变成token ID,再经过数据集与上下文窗口、嵌入层、解码器块、词表logits,最后到达损失或采样,以及检查点、生成或对话。

每一个箭头都代表一份契约。如果分词器产出的ID超出了嵌入表预期的词表范围,系统就是无效的。如果训练使用一个分词器,推理却加载另一个,两个文件可能各自有效,但整体包是错的。如果架构声明有12个注意力头,而隐藏维度无法被正确整除,实现就应该在训练开始前拒绝这个配置。

这是我在构建参考实现时学到的最重要的一课:当无效状态被尽早拒绝时,原生AI软件会变得更容易调试。例如:

if ( hidden_size % attention_heads != 0 ) {    throw std::invalid_argument( "hidden_size must be divisible by attention_heads" );}

这个检查看起来微不足道,但它保护了后续每一次reshape操作。

为什么选择C++

一个显而易见的问题是:Python已经拥有极其出色的AI生态,为什么还要用C++来构建变换器学习项目?答案不只是性能。一次Python调用和一次C++调用,最终可能执行的是同一个优化过的CUDA或CPU内核。C++并不会神奇地让矩阵乘法变得更快。

C++带来的是另一种东西:对系统边界的可见性和控制力。使用原生C++时,一些事情会变得难以忽视。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
从16亿跌到0.4亿,耗资超两亿结果连《牛来》都不如,《姜子牙》导演新作血扑

从16亿跌到0.4亿,耗资超两亿结果连《牛来》都不如,《姜子牙》导演新作血扑

娱乐故事
2026-08-25 14:10:00
刘翔发文向网友征求意见:上海市体育局让我买断或当教练上班,我该怎么办

刘翔发文向网友征求意见:上海市体育局让我买断或当教练上班,我该怎么办

鲁中晨报
2026-08-26 18:58:04
特朗普宣布:全美降半旗一周

特朗普宣布:全美降半旗一周

环球时报国际
2026-08-26 12:39:36
66岁刘雪华独居上海别墅,每天清晨六点,都会准时给远在加拿大的姐姐通话报平安

66岁刘雪华独居上海别墅,每天清晨六点,都会准时给远在加拿大的姐姐通话报平安

音乐时光的娱乐
2026-08-26 02:44:53
朝鲜这份情,中国人记下了!金与正警告日本,对华动武别忘了朝鲜

朝鲜这份情,中国人记下了!金与正警告日本,对华动武别忘了朝鲜

阿代说事
2026-08-25 18:47:10
纪委朋友酒后吐真言:被围猎的干部,基本都栽在这四个“第一次”

纪委朋友酒后吐真言:被围猎的干部,基本都栽在这四个“第一次”

荷兰豆爱健康
2026-08-25 11:59:30
178万成交!这样的1角纸币,再破都值钱!

178万成交!这样的1角纸币,再破都值钱!

天天纪念币
2026-08-09 10:05:46
失踪游客数达403人!此次山洪,可能是数十年来规模最大的一次 !

失踪游客数达403人!此次山洪,可能是数十年来规模最大的一次 !

最江阴
2026-08-27 10:27:05
我终于理解包文婧为啥像防贼一样防孙怡了

我终于理解包文婧为啥像防贼一样防孙怡了

科普万物v
2026-08-27 07:35:31
童星徐杰因病去世,11岁时以一首《遗失的美好》走红,曾登上《快乐大本营》等节目,在湖南卫视春晚跟张杰同台合唱《仰望星空》

童星徐杰因病去世,11岁时以一首《遗失的美好》走红,曾登上《快乐大本营》等节目,在湖南卫视春晚跟张杰同台合唱《仰望星空》

鲁中晨报
2026-08-27 07:34:02
何穗晒儿子穿外婆手工编织凉拖照片:姥姥织的凉拖真的好搞笑

何穗晒儿子穿外婆手工编织凉拖照片:姥姥织的凉拖真的好搞笑

凛若秋霜
2026-08-27 08:25:38
王虹的眼镜,“懂的都懂”

王虹的眼镜,“懂的都懂”

中国新闻周刊
2026-08-25 16:26:09
4 1!穆帅要的3巨头同时爆发:姆巴佩戴帽,皇马2连胜登顶

4 1!穆帅要的3巨头同时爆发:姆巴佩戴帽,皇马2连胜登顶

伊人若梦u
2026-08-27 11:20:06
娱记曝出影视寒冬的现状,艺人收入断崖式下滑,衣食住行难道不在全面降级吗

娱记曝出影视寒冬的现状,艺人收入断崖式下滑,衣食住行难道不在全面降级吗

草莓解说体育
2026-08-27 08:49:05
南海连炸五天!破船锈穿快解体,马科斯终于看清:船比嘴硬更难撑

南海连炸五天!破船锈穿快解体,马科斯终于看清:船比嘴硬更难撑

影孖看世界
2026-08-26 13:20:02
夜晚,15人被昆明警方带走!

夜晚,15人被昆明警方带走!

昆明信息港
2026-08-27 12:01:51
曝包贝尔出轨!深夜和红发美女共处一夜,3年前就曾被曝夜会美女

曝包贝尔出轨!深夜和红发美女共处一夜,3年前就曾被曝夜会美女

韩小娱
2026-08-26 16:02:51
野心爆棚!土耳其终于出手了!乱纪元时代全面开启!

野心爆棚!土耳其终于出手了!乱纪元时代全面开启!

一个坏土豆
2026-08-26 20:25:45
剧痛!别碰!别揉!近期这种毒虫频现,有人一不小心就中招了!

剧痛!别碰!别揉!近期这种毒虫频现,有人一不小心就中招了!

中国疾控动态
2026-08-26 08:09:25
刘翔连续发声怒怼上海体育局,媒体人:他想挑战规则 快速升职当领导

刘翔连续发声怒怼上海体育局,媒体人:他想挑战规则 快速升职当领导

尘语者
2026-08-27 11:00:02
2026-08-27 13:39:00
灰度测试中
灰度测试中
生活正在重构,目前还在灰度测试阶段,暂不全量发布。
303文章数 75关注度
往期回顾 全部

科技要闻

苹果邀请函:新CEO、折叠屏iPhone都要来了

头条要闻

美能源部长:没任何问题 美国愿向伊朗供应商用浓缩铀

头条要闻

美能源部长:没任何问题 美国愿向伊朗供应商用浓缩铀

体育要闻

因为这条规则,欧联冠军一个夏天散伙了

娱乐要闻

包贝尔承认将柳岩推下水片段引爆热搜

财经要闻

英伟达,营收翻倍大增,指引碾压预期

汽车要闻

搭华为ADS 5/增程纯电可选 阿尔法T7预售13.78万起

态度原创

手机
旅游
家居
亲子
艺术

手机要闻

iPhone换机潮期间,旧机回收价可能在10天内下跌20.2%

旅游要闻

北京海淀中南片区发布City Walk打卡地图,27场狂欢即将开启

家居要闻

2026建博会(广州) 公装联探展交流活动

亲子要闻

别让“减肥速成班”透支孩子的健康

艺术要闻

16位中国当代画家的女性油画

无障碍浏览 进入关怀版