Dwitter 是用极短 JavaScript 制作动画的社区。普通代码模型未必熟悉这种为了省字符而写的表达式,更不知道作者觉得什么画面有意思。datavorous 想做一个能续写这些小动画的工具,于是以 Qwen2.5-Coder-7B Base 为底座,分开处理“像这种代码”和“符合自己的偏好”两个问题。
第一步是持续预训练,让模型继续预测约 2.5 万条 Dweet 的代码。在三十条留出样本上,作者报告困惑度由 28.63 降到 8.57;困惑度反映模型预测文本的把握程度,数值降低并不直接表示动画更漂亮。随后,他按社区评价组织训练材料,再做人工偏好训练:每组看八个渲染后的续写,选喜欢的一个,或者整组跳过。约九至十轮、每轮五百组,意味着作者实际承担了大量观看和选择工作。
成品界面允许先写一段代码,再比较和分叉生成结果。模型卡发布持续预训练、课程训练和偏好训练三个 LoRA 适配器,便于分别加载;适配器是在底座上附加的小规模参数。作者还请朋友盲选不同检查点的输出,但这种有限评选不能代表整个社区的审美。文中有些概率比较使用共享的 BF16 底座,而后续阶段训练用过量化底座,跨阶段数字也须核对条件。
讨论并不只关乎生成质量。一些爱好者喜欢演示艺术,是因为人在严苛限制下亲自解决难题;另一些人则把接纳新技术看作表达的一部分。即使生成器更好用,这个价值分歧也不会被一项偏好分数消除。