liquid4all/toktoktok
这个分词器训练工具的每一行代码都是AI编程智能体写的,人类一行都没看过
toktoktok是Liquid AI做的一个实验项目:他们只给编程智能体一份简短的需求说明,让它们在沙盒环境里接触真实数据,再用一套智能体无法操控的外部验证机制来把关,由智能体从零写出全部代码。最终产出的是一个BPE(字节对编码)分词器训练工具,训练出的词表能直接被OpenAI的tiktoken和Hugging Face的tokenizers两个库加载使用。它能在一台机器上、在你设定的内存上限内,对上万亿个token规模的数据进行训练。
它做什么
- Liquid AI在研究边缘设备大语言模型的词表大小时需要一个BPE分词器训练工具,但现有方案要么太慢、要么内存不够、要么根本训练不出来,于是他们没有自己动手写,而是把这个任务交给编程智能体
- 智能体依据一份简短的规范文件AGENTS.md工作,拥有沙盒环境下的生产数据和大型机器访问权限,唯一的验证标准是一个智能体无法干预的外部检验程序:训练出的词表必须在tiktoken和Hugging Face tokenizers中产生完全相同的token ID
- 水塘抽样(reservoir sampling)技术让训练过程始终保持在设定的内存预算内,即使语料库远大于内存也能保持样本的代表性,不需要把整个语料库都读进内存
- 多阶段训练可以按语言或领域(比如英语、代码、多语种)明确分配词表预算,而不是任由最大的语料库主导合并结果;热启动(warm start)功能还能在不改变已有token ID的情况下,给现有分词器扩充新内容
- 最终词表固定由256个基础字节,加上1,161个硬编码的合并规则(用于数字、空白符、运算符等),再加上每个训练阶段产生的合并规则组成
为什么重要
这是一个具体的实验案例,用来检验编程智能体能否在没有人类审阅代码的情况下,端到端地解决一个生产级工程问题,这对于任何要评估AI写的基础设施能信任到什么程度的人都有参考价值。对于需要训练和扩展分词器词表的大语言模型开发者来说,这也是一个可复用的实用工具。
本仓库术语
- BPE(字节对编码) · 一种分词器训练方法,不断把出现频率最高的一对符号合并成一个新的token
- tiktoken · OpenAI开发的BPE分词器库
- 水塘抽样 · 一种从超出内存容量的数据流中随机抽取具有代表性样本的技术
- 热启动 · 在已有分词器的词表基础上继续训练,保持原有token ID不变
- 编程智能体 · 能够在没有人类干预的情况下自主编写和修改代码的AI系统
相关报道
热门仓库
- cathrynlavery/diagram-design让AI编程工具画出杂志排版质感图表,而不是千篇一律的圆角方框
- public-apis/public-apis一份由社区维护的免费API大全仓库
- semantica-agi/semantica一个让AI智能体的决策可追溯、可审计的开源图谱基础设施
- cactus-compute/needle一个14MB的AI模型,让手机和可穿戴设备无需联网就能调用工具
- unslothai/unsloth一款让你在自己电脑上运行和训练AI模型的桌面应用,无需写代码
- macro-inc/macro把邮件、聊天、文档、任务和CRM互相链接、共享同一份AI团队记忆的一体化办公平台
- harry0703/MoneyPrinterTurbo只需一个主题或关键词,就能自动生成配好文案、素材、字幕和音乐的完整短视频的开源工具
- basecamp/omarchyDHH打造的、开箱即用且风格统一的Linux发行版