猫鱼周刊 vol. 024 如何训练一个自己的LLM
编辑关于本刊
这是猫鱼周刊的第 25 期,本系列每周日更新,主要内容为每周收集内容的分享,同时发布在
博客:阿猫的博客-猫鱼周刊
RSS:猫鱼周刊
邮件订阅:猫鱼周刊
微信公众号:猫兄的和谐号列车
文章
可能是全网第一个粤语 Qwen/从零开始的 LLM 微调教程
在还在用 BERT 的时代,要做 finetune 除了要构建数据集,还要写一大堆训练代码。现在完全不一样了,通过现成的脚本,只要准备好数据就可以进行微调了。从这篇文章看来,现在微调一个 LLM 主要有以下几个步骤:
- 准备好数据集,处理成 LLaMA-Factory的格式,当然了这一步多多少少还是要写一点清洗的代码。
- 租用 GPU,搭建环境。Autodl 或者一些主流的云服务厂商都有提供租用 GPU 的服务,最好提前了解下你想微调的模型有多少参数,对应需要多大的显存去运行,首先应该满足显存需求,然后才是训练速度。关于训练速度,常见显卡的训练速度可以参考这个网站。
- 微调。这一步就是执行脚本,调参这些。如果对里面的学习率、训练轮数、梯度、损失之类的名词觉得陌生,可以去看看吴恩达的这个教程。
不用数学,解释 LLM 的原理
一篇非常好的入门文章,解释清楚了 token、LM、上下文窗口、幻觉等等的概念。我觉得对我来说比较新鲜的是 temperature
, top_p
, top_k
, num_tokens
的实际意义。这几个参数叫 hyperparameter
,一般叫超参,又或者叫玄学参数,因为没法确定改变这几个参数对具体的输出有什么具体的影响。
这篇科普文章主要目的是把 LLM 的原理解释清楚,它不是魔术,它也没有“思维”。作者认为 LLM 是实用的,但是在使用中一定要注意验证输出是否符合事实。这跟我之前在 vol. 010 中的想法大致相同。
离线使用 Git
Git 是一个分布式版本管理系统,我们平常通过 GitHub 或者私有的 GitLab 等来与其他人进行协作。但其实 Git 可以不通过网络使用,可以使用 U 盘、硬盘甚至 CD、DVD 这样的介质来进行协作。操作非常简单,只需要把 remote 设成一个路径即可(某种程度上,可以说 URL,因为平常我们是通过 ssh
或 http
协议来访问 remote。
这篇文章属于是有点冷知识型,但是算得是软件工程中“抽象”的范例。管你具体是什么介质,它都是一个 remote,只要你的介质有对应的实现,就可以正常使用 Git 的其他功能。优雅,太优雅了!
Apple Watch Terminal 风格表盘
命令行风格的 Apple Watch 表盘。这个其实早就在小红书之类的上面见过,但是以前的项目基本都过时了,作者重新折腾了一个。总体来说还是很 fancy 的,就是不知道会不会很费电?
项目
LLM 越狱
所谓的“越狱”就是指通过一些 prompt 欺骗 LLM,来绕过内容过滤器等。具体可以看看这个网站。
没时间睡觉了
华为发布会 time.sleep(6)
事件的整活,看的时候还只有去掉输出中的 time.sleep
的功能,现在又加了一个解决 确定性时延
的功能,遥遥领先!
自建信息聚合
可以把 RSS 源、HN、Youtube、股票、日历等等信息聚合在一个面板上。
工具/网站
Copy Book —— 常见网站文案
产品经理福音。如果你不知道网站上一些常用的提示语该怎么写,可以直接从这里复制。
可惜网站不提供 i18n 翻译,不然可以减少很多不规范的产品文案翻译。
docker run 转 compose
在 dockge 中,有个很有意思的功能就是,拿一条 docker run
,会帮你转成 compose 文件,来启动。这个网站提供了一个独立的这个功能。
总的来说,用 docker compose
比直接 docker run
要更方便,就算只有一个 pod,用 compose 能把命令中开放端口、挂载路径、环境变量等落到文件中,在更新版本时,只用改一下文件中的镜像版本,重启即可。在之前,我的方式是 history
一下找回之前的参数,太麻烦了。
最后
本周刊已在 GitHub 开源,欢迎 star。同时,如果你有好的内容,也欢迎投稿。
另外,我建了一个交流群,欢迎入群讨论或反馈。
- 0
- 0
-
赞助
微信赞赏码 -
分享