每天早上一封邮件,把昨天的 AI 梳理好订阅邮件

METAL LAB

liquid4all/toktoktok

23RustApache-2.0

这个分词器训练工具的每一行代码都是AI编程智能体写的,人类一行都没看过

toktoktok是Liquid AI做的一个实验项目:他们只给编程智能体一份简短的需求说明,让它们在沙盒环境里接触真实数据,再用一套智能体无法操控的外部验证机制来把关,由智能体从零写出全部代码。最终产出的是一个BPE(字节对编码)分词器训练工具,训练出的词表能直接被OpenAI的tiktoken和Hugging Face的tokenizers两个库加载使用。它能在一台机器上、在你设定的内存上限内,对上万亿个token规模的数据进行训练。

它做什么

  1. Liquid AI在研究边缘设备大语言模型的词表大小时需要一个BPE分词器训练工具,但现有方案要么太慢、要么内存不够、要么根本训练不出来,于是他们没有自己动手写,而是把这个任务交给编程智能体
  2. 智能体依据一份简短的规范文件AGENTS.md工作,拥有沙盒环境下的生产数据和大型机器访问权限,唯一的验证标准是一个智能体无法干预的外部检验程序:训练出的词表必须在tiktoken和Hugging Face tokenizers中产生完全相同的token ID
  3. 水塘抽样(reservoir sampling)技术让训练过程始终保持在设定的内存预算内,即使语料库远大于内存也能保持样本的代表性,不需要把整个语料库都读进内存
  4. 多阶段训练可以按语言或领域(比如英语、代码、多语种)明确分配词表预算,而不是任由最大的语料库主导合并结果;热启动(warm start)功能还能在不改变已有token ID的情况下,给现有分词器扩充新内容
  5. 最终词表固定由256个基础字节,加上1,161个硬编码的合并规则(用于数字、空白符、运算符等),再加上每个训练阶段产生的合并规则组成

为什么重要

这是一个具体的实验案例,用来检验编程智能体能否在没有人类审阅代码的情况下,端到端地解决一个生产级工程问题,这对于任何要评估AI写的基础设施能信任到什么程度的人都有参考价值。对于需要训练和扩展分词器词表的大语言模型开发者来说,这也是一个可复用的实用工具。

本仓库术语

  • BPE(字节对编码) · 一种分词器训练方法,不断把出现频率最高的一对符号合并成一个新的token
  • tiktoken · OpenAI开发的BPE分词器库
  • 水塘抽样 · 一种从超出内存容量的数据流中随机抽取具有代表性样本的技术
  • 热启动 · 在已有分词器的词表基础上继续训练,保持原有token ID不变
  • 编程智能体 · 能够在没有人类干预的情况下自主编写和修改代码的AI系统
在 GitHub 打开

相关报道

热门仓库

全部仓库 →

METAL LAB 最新报道