TOM(Tiny-Omni-Model) 是一个专为学习多模态大模型原理而打造的轻量级大语言模型框架。
它秉持 “小而全” 的设计理念,在普通个人电脑或多种硬件环境中均可部署运行,同时保留主流大语言模型的核心能力和训练方法。
无论你是初学者想系统理解LLM架构与训练流程,还是研究者需要一个可控、可扩展的原型系统,TOM都能通过结构清晰的模块加上详尽的中文注释,让你在本地即可完成构建 → 训练 → 微调 → 推理的完整学习与实践闭环。
- 理论学习 - 深入理解多模态大模型的架构设计与原理
- 技术掌握 - 学会从零开始训练、微调和扩展模型
- 能力全覆盖 - 在轻量化框架中体验主流大模型的核心功能
- 低门槛部署 - 支持CPU及多种GPU架构,无需昂贵硬件
TOM 支持从基础到高级的多种大模型能力:
- 预训练 (Pretrain) — 从零构建语言模型
- 监督微调 (SFT) — 基于任务特定数据优化模型
- 参数高效微调 (LoRA) — 在低资源设备快速更新模型参数
- 混合专家模型 (MoE) — 高效利用多专家网络
- 视觉理解 (Vision) — 多模态任务(文字+图片)处理
- 函数调用 (Function Call) — 让模型调用外部工具或 API 完成任务
- 智能体 (Agent) — 多步任务执行与组合工具调用
- 任务规划 (Planning) — LLM 主导的决策与执行计划生成
- 代码生成 (Coding) — 自动编写、调试与运行代码
TOM 分词器仅保留约 8k 词汇,相比市面动辄百万级的词汇表更轻量,但依然涵盖了绝大部分中文和常用表情符号。在主要面向中文的高质量数据集支持下,这一设计显著降低了存储与计算开销,同时保证模型在中文场景下的表现。
python scripts/train_tokenizer.py训练分词器是一个CPU密集型任务,通常比较耗时,可以直接使用代码中的分词器。
python scripts/train_pretrain.py