当前位置: 首页 > news >正文

自己动手搭个AI大模型?没那么玄乎

说真的,我一开始也觉得这东西离我好远。

什么大模型,什么, 什么算力, 还有集群, 听起来就仿佛是另一个世界里才会有的事情, 一直到去年的时候, 我实在是憋闷得不行忍不住了, 自个儿试了一回, 而后才发觉, 搭建一个AI大模型, 当然并非是像GPT那种有着几千亿量级参数的, 实际上并没有那么的玄奥神秘了。

拿我所做的那个小模型来讲, 其参数未达1亿,运行于两张老旧显卡之上, 你能够相信吗? 即便如此, 它居然还能够写诗, 并且写得颇具模样。

搭大模型到底要花多少钱?

这事儿我查了很久,也问了不少人。

你倘若真打算从毫无基础开始去训练一个具备真正意义的大模型, 就像LLaMA那种级别的(有着650亿参数), 仅仅一次训练所需的电费, 便会达到几百万美元。英伟达先前那份报告当中提及过, 训练GPT-3耗费了大约1200万美元, 其中光是电费就占据了主要部分。

但你别被吓着。

“搭”,我说的这个词, 是指那种能在个人电脑上运行起来的情况。比如说, 拿羊驼模型()去玩一玩, 整个的项目历程下来, 成本还不到100美元呢。再比如, 对于Meta开源的LLaMA权重, 你自己再做一下微调, 从本质上来说, 这也算得上是经历了一次“搭”的过程。

关键是你能不能接受:它不会什么都懂,但它确实是个模型。

选模型框架,别太纠结

极开始在与之间摇摆了好长一阵子, 看了十几篇对比文章, 随后发觉, 这事压根无需纠结。

现在就是事实标准。

在之上, 超过90%的模型是运用编写而成的。你声称要着手搞一个新的模型, 不会有人询问你会采用何种框架, 众人皆默认你会使用。

固然, 倘若你打算贪图简便省事, 径直运用的库, 寥寥几行代码便能够加载一个预训练模型。我首个模型便是如此操作的: 进行下载, 开展加载, 实施测试, 前前后后用时不到半小时。

然后我就膨胀了。

数据才是真正让人崩溃的地方

我以为最难的是写代码。后来发现我太天真了。

最难的是搞数据。

我于网上爬取了约莫2万条中文语料, 其中涵盖新闻, 包含论坛帖子, 还有知乎问答。而后呢? 其内部尽是脏数据: HTML标签未被清理干净, 存在乱码, 有重复内容, 并且还有一些根本无从知晓来源的火星文。

仅仅是对这批数据进行清洗, 我耗费了整整两个周末的时间 ,最终能够使用的, 大约是1万2千条。

所以, 有这样一句话, 我是特别认同的: 一个AI模型究竟好不好, 90%依赖于数据, 剩余的10%才是模型结构以及训练技巧。

你要是认真做,数据这一关得花至少60%的时间。

训练过程,像在坐过山车

当我首次开展对自己所编写的模型予以训练之际, 彼时的那种心情, 真的是难以言表啊。

最初的时候, loss值下降的速度快得惊人, 我当时心想: 难道我是天才不成? 随后到了第3个epoch阶段, loss顿时不再变动。怎么都不下降。调整学习率、更换优化器、改变batch size……一番折腾持续了两天时间, 才发觉是学习率编写的不正确。

再有一回, 模型给出的输出通通是“NaN”。花费了好半晌的工夫去查找, 原来竟然是梯度发生爆炸了。

更为搞笑的是, 我训练了一个用于中文对话的模型, 与之展开聊天交流, 它回复我道: “你所言是正确的, 然而原神……”此情景令我即时笑得前仰后合, 直接笑喷。

这些小型的模型, 偶尔并非有缘由地学到了训练数据当中的梗, 格外具备趣味。

推理时的意外惊喜

等模型好不容易训练完毕了, 我小心翼翼地输入了一句话, 那句话是: “写一首关于秋天的诗。”。

等了大概3秒,它输出了:

秋风刮起, 黄色树叶飘落, 独自坐在窗户前方聆听雨水声音。灯火稀疏的地方, 哪个人询问我粥是否温热。

虽然有点拼凑感,但你能信吗——这是我亲手搭的模型写的。

那一刻,真有点感动。

当然,大部分时候它回复的是:“我不懂你在说什么。”

普通人能搭到什么程度?

我大概整理了几种做法:

较简便的办法是径直采用已有的推理框架以达成目的, 像、llama.cpp这类, 于你而言, 只需将做好准备的模型重量下载妥当即可, 借助一条指令就能够使其开始运行。在平台之上有数量达到好几十万的模型得以存在着, 其中的大部分均是无需付费便可获取并且使用的。

稍微升华那么一点儿, 运用的库去进行微调, 也就是fine - 。比如说, 你存在一个业务场景, 这个业务场景涵盖了客服、问答以及内容生成这几方面, 选取这么一个开源模型, 拿自己所拥有的数据, 朝着实现微调来推进。这般情形之下, 最终所呈现出来的效果, 很有可能相较于直接去购置商业API而言, 反倒更加适配于你。

要是能再硬核些许, 那就从从零开始打造一个 , 网络上是存在教程的, 就好比 的“Let’s build GPT from ” , 照着去做上一回, 你便能够领会所有点点滴滴的细枝末节了。

当前, 我个人正处于第三个阶段而遭遇困境, 缘由在于当着手撰写注意力机制()之际, 始终觉得数学公式仿佛在对我进行讥讽。

一些小建议

你要是想试试,我建议从微调开始。

寻一个开源的基座模型, 像是Qwen、LLaMA、、这类, 挑个最小的版本(7B以下), 而后用自身的数据进行微调。

有着几百条质量不错的数据量也就足够了, 无需太多。其过程大概需要一张具备8G以上容量的显卡, 或者也可选用云服务, 像、阿里云这类, 差不多一小时只需几块钱。

不要一上来就想搞大新闻。

最后想说的

AI大模型这件事,确实被媒体包装得太玄了。

既是“智能涌现”, 又是“通用人工智能前夜”, 这般听起来仿若科幻影片。

然而事实上, 模型乃是那众多数学公式以及矩阵运算所构成的全部。当你将其逐一拆解开来瞧的时候, 每一个步骤都是能够被领会明白的。

并且说实话, 亲自去搭建一个模型, 哪怕这个模型只会回答最为简单的问答, 可那种成就感, 相较于使用任何一个商用API而言, 都要强烈许多。原因在于, 那属于你个人专有的东西。

所以,如果你有显卡、有时间、有好奇心,真的可以试试。

别怕出错。我也还在不断试错。

说不定哪天,你写的模型就能跟你聊人生了呢。

http://www.cnnetsun.cn/news/2638734.html

相关文章:

  • ECCV2020 ParSeNet源码实战:手把手教你用PyTorch复现3D点云参数化曲面拟合
  • 别再只用RSA了!在.NET 6/8里试试国密SM2,性能与合规性双赢
  • 基于Arduino与超声波传感器的智能安全防护系统设计与实现
  • 5个简单有效的内存优化技巧:让Windows电脑告别卡顿的完整指南
  • D2DX三大黑科技:让经典暗黑2在现代PC上重获新生
  • 核心系统迁移的最高目标:为什么DBA都在追求数据“零闪断”?
  • 联想刃7000K BIOS隐藏功能解锁指南:3个关键步骤释放硬件潜力
  • 5分钟快速上手:B站m4s缓存视频免费无损转换终极方案
  • 别再只用普通卷积了!聊聊ODConv:如何用‘注意力’让模型在移动端更轻更强
  • Dell Q1财报深度解读:AI收入暴增757%,服务器厂商的春天来了?
  • 别再折腾蓝屏了!用这个一键脚本搞定Ubuntu 18.04的XRDP远程桌面
  • ViGEmBus:Windows内核级游戏控制器虚拟化架构解析
  • 多智能体工作流的循环与分支:状态机与条件逻辑设计
  • ThinkPad双风扇终极控制指南:TPFanCtrl2完全使用教程
  • Arduino Uno R4 WiFi板载RTC与LED矩阵实现数字时钟
  • 用Arduino Uno与TEA5767模块改造复古收音机:硬件选型与软件编程全指南
  • 百度网盘Python API深度解析:构建企业级文件自动化管理系统
  • 别再傻傻分不清!一文搞懂PCIe信号增强:Retimer和Redriver到底怎么选?
  • Claude Code GUI与Terminal双模式:AI编程助手的高效工作流指南
  • 论文写作黑科技!常用的AI写作辅助软件,逻辑清晰质量高
  • 【RT-DETR实战】092、交通监控场景(车辆,行人)改进实战
  • 从Linux内核源码handle_edge_irq看中断处理:为什么边沿触发更高效?
  • 全球人工智能治理:中国参与的核心理念、实践路径与未来趋势
  • 5分钟搞定Adobe软件授权:AutoIt逆向工程实战指南
  • Arduino流水灯系统:从GPIO控制到状态机与按钮交互实践
  • Fooocus AI绘画终极指南:从零基础到创作大师的完整教程
  • 从PyPI到私仓:在PyCharm里配置pip源和conda源的完整指南(含避坑)
  • 服务稳定性断崖式下跌?Claude蓝图设计中被92%团队忽略的3层容错架构,立即自查!
  • wininet.dll 缺失或调用失败怎么排查?联网程序报错先看这几处
  • 第十篇:《Dockerfile 最佳实践与镜像瘦身》