JXW67/ TGAI_NB:v2.5

40 1 month ago

TGAI NB — a lightweight Chinese MoE chat model family, built end-to-end by a high school student. V2 (3B): 8-expert sparse MoE, better quality for desktop. V1 (0.86B): 4-expert sparse MoE, ultra-light, smooth on low-end devices.

0.86b 3b
ollama run JXW67/TGAI_NB:v2.5

Details

1 month ago

ef34b05e4086 · 5.9GB

llama
·
2.95B
·
F16
系统:你是TGAI ,由JXW独立研发。 {{ range .Messages }}{{ if eq .Role "user" }}用户:{{ .C
{ "num_ctx": 4096, "num_predict": 2048, "repeat_penalty": 1.3, "stop": [ "ç”

Readme


license: mit language: - zh task: text-generation framework: pytorch tags: - tgai - moe - llm - gguf - ollama

- llama.cpp

TGAI NB 系列

TGAI NB 是由一名高二学生 JXW 独立研发的中文大语言模型系列。

这是一个”一个人从零做完”的项目:数据采集与清洗、分词器、MoE 架构设计、预训练、SFT、LoRA 蒸馏、推理部署,全部由作者独立完成,不依赖 HuggingFace Transformers(Transformer Block 也是逐行手写)。


模型概述

TGAI(Trainable General Artificial Intelligence)是一个 Decoder-Only MoE(混合专家)Transformer 大语言模型,使用 PyTorch 原生实现,面向中文对话场景。

本仓库提供 GGUF 格式权重,可直接用 Ollama 或 llama.cpp 本地运行,无需显卡(CPU 也可推理)。

系列版本

版本 规模 说明
TGAI NB V1 0.86B 系列起点,验证从零训练中文 MoE 全流程
TGAI NB V2 ~3B 扩展版
TGAI NB V2.5 MoE 3B 当前主力,8 专家 top-2,4K 上下文

模型介绍

架构参数(V2.5)

项目 值
架构 Decoder-Only MoE Transformer
参数量 ~3B
隐藏层维度 d_model 1024
层数 n_layers 28
注意力头 n_heads 16
前馈维度 d_ff 4096
专家数 n_experts 8
激活专家 n_activated 2(top-2 路由)
词表大小 32770
上下文长度 4096
权重绑定 Embedding ↔ LM Head 共享

技术组件

组件 技术
位置编码 RoPE(旋转位置编码)
归一化 RMSNorm
注意力 Flash Attention(scaled_dot_product_attention)+ KV Cache
前馈网络 SwiGLU
混合专家 MoE Top-K 路由 + 负载均衡 loss
分词器 自研中文分词器(中文优化)

特性亮点

  • MoE 稀疏架构:8 个专家、top-2 路由,用更少算力获得更大模型容量
  • 自研分词器:中文专用,非通用 BPE,对中文更友好
  • 全流程自研:数据 → 分词器 → 模型 → 训练 → 推理 → 部署,全链路原创
  • GGUF 格式:开箱即用,配合 Ollama 本地部署

模型训练

训练框架

  • PyTorch 原生,不使用 HuggingFace Transformers / Trainer
  • AMP 混合精度训练
  • 梯度累积(等效大 batch)
  • 余弦衰减 + warmup 学习率调度
  • MoE 负载均衡 loss,防止专家分化
  • 断点续训:checkpoint 全量恢复(权重/优化器/调度器/step)
  • FSDP 分布式训练,支持多卡
  • ROCm / CUDA 双后端适配

训练流程

  1. 预训练:大规模语料上训练基座模型
  2. SFT:指令对话数据微调(数据格式 用户:{prompt}\nTGAI?{response})
  3. LoRA 蒸馏:低秩适配器微调(r=16, alpha=32),支持记忆蒸馏与参数化存储

训练数据

  • 中文指令数据:Belle / Alpaca-ZH / Firefly 等公开数据集
  • 代码、数学、多轮对话等多类语料
  • 自研数据清洗、去重、mmap 缓存管线

训练成本

  • 总训练成本约 ¥800(云 GPU 租用费用)

详细训练代码与文档见 TGAI-GUI-NLP


模型推理

推理能力

  • 流式输出 + KV Cache 加速
  • Top-K + Top-P 采样(合并排序优化)
  • 连续重复惩罚、2/3-token 循环检测、非中文洪水检测、退化预防
  • 支持 torch.compile 推理加速

使用方式(Ollama)

  1. 安装 Ollama
  2. 创建 Modelfile:
FROM ./TGAI_NB_V2.5.gguf
PARAMETER num_ctx 4096
PARAMETER temperature 0.3
PARAMETER top_k 40
PARAMETER top_p 0.9
PARAMETER repeat_penalty 1.3
TEMPLATE """系统:你是TGAI ,由JXW独立研发。
{{ range .Messages }}{{ if eq .Role "user" }}用户:{{ .Content }}
TGAI?{{ else if eq .Role "assistant" }}{{ .Content }}
{{ end }}{{ end }}"""
  1. 运行:
ollama create tgai-nb -f Modelfile
ollama run tgai-nb

使用方式(llama.cpp)

llama-cli -m TGAI_NB_V2.5.gguf --prompt "用户:你好\nTGAI?"

其他部署形态

  • TGAI GO 引擎:嵌入式 C 推理引擎,支持 .TG 格式,可部署到 ESP32 等单片机和手机端(ONNX + INT8 量化)
  • QQ 机器人:NapCat 协议接入
  • WebUI / API:REST API 服务,OpenAI 兼容接口

模型效果

以下为训练过程记录的指标(作者实测),具体评测结果请以作者发布为准。

  • 训练 loss:收敛至约 0.7
  • Perplexity(PPL):训练过程中约 2.5 左右
  • 模型可正常完成中文对话、指令跟随
  • MoE 专家使用率分布正常,无严重专家退化

已知局限

  • 模型参数量较小(3B),复杂推理、长文写作能力有限
  • 中文为主,英文能力相对较弱
  • 受训练数据规模限制,部分领域知识可能缺失
  • 生成内容可能存在偏差,请勿用于专业决策

声明

  • 系统提示词为:你是TGAI ,由JXW独立研发
  • 本模型为个人学习研究项目,欢迎交流与建议
  • License: MIT(可自由使用、修改、分发,需保留原作者署名)

相关项目