MiniSeek-M0.1

MiniSeek MoE · SFT / 对话版

中文 | English

GitHub License Base


🇨🇳 中文

超小开源 Decoder-only MoE 对话模型。架构参数 150,217,216 ≈ 150.22M(Embedding / LM Head 在结构上共享);本发布在磁盘上分开存放两份权重(disk ≈ 153.49M 元素,与 Dense D0.1 chat 的 untied 落盘方式一致)。预训练基座:MiniSeek-M0.1-base。

目标是对齐 DeepSeek(Dense → MoE,base → chat),不是宣称已对标。

模型概览

Model ID wyf-yfw/MiniSeek-M0.1
基座 wyf-yfw/MiniSeek-M0.1-base
系列 MiniSeek-M(MoE)
版本 0.1(chat / SFT)
参数量 150,217,216(~150.22M tied);disk model.safetensors ≈ 153.49M 元素
权重文件 model.safetensors
结构 MoE Decoder-only(1 shared + 32 routed,top-2)
SFT 上下文 256 tokens(short256 可行性配方)
分词器 MiniMind(vocab_size=6400)
对话模板 ChatML(tokenizer 已带 chat_template)
协议 MIT

命名:

  • MiniSeek-M{x.y}-base — 预训练 / 继续预训练
  • MiniSeek-M{x.y} — SFT / chat(本仓库)

结构

与基座相同的 MoE 栈(d=512,L=8,1 shared + 32 routed,top-2,moe_intermediate_size=512,vocab=6400)。

训练

阶段 说明
基座 MiniSeek-M0.1-base · task 20261028-000054-56bd last.pt
SFT 数据 data/SFT/sft_miniseek_v5_short256.jsonl(short256 可行性 SFT)
初始化 tasks/20261028-000054-56bd/checkpoints/last.pt
发布权重 task 20261028-191818-db9d(moe-sft-v5-2-2)checkpoints/last.pt
Train step(last) 6937
Train loss(last) ≈ 1.91
max_seq_len 256
batch / pack batch_size=128 · batch_mode=pack
优化器 AdamW · peak LR 2e-5 → min 1e-6 · warmup 100
Flash / SDPA 默认开启
aux aux_coef=0.01

推荐流程(与仓库 README 一致):MoE PT last.pt → short256 + max_seq_len=256 MoE SFT;超长样本 keep-head。

代码:github.com/wyf-yfw/miniseek

适用场景

  • 超小 MoE chat SFT 学习 / 演示
  • 仓库 Web UI 多轮对话
  • Dense D0.1 之后的 MoE 对话检查点

不是生产助手。事实错误、弱数学/英文、拒答能力弱都属预期。

使用方法

用 messages + apply_chat_template(与常见 HF 模型一致):

import json
from pathlib import Path
import torch
from huggingface_hub import snapshot_download
from safetensors.torch import load_file
from transformers import AutoTokenizer
# clone https://github.com/wyf-yfw/miniseek ,把 algo/ 加入 PYTHONPATH:
from model.config import ModelConfig
from model.moe import MoELM

repo = snapshot_download("wyf-yfw/MiniSeek-M0.1")
cfg = ModelConfig.from_dict(json.loads(Path(repo, "config.json").read_text()))
model = MoELM(cfg).eval()
model.load_state_dict(load_file(Path(repo) / "model.safetensors"))
tokenizer = AutoTokenizer.from_pretrained(Path(repo) / "tokenizer", trust_remote_code=True)

messages = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "你好,用一句话介绍你自己"},
]
prompt = tokenizer.apply_chat_template(
    messages, tokenize=False, add_generation_prompt=True
)
ids = tokenizer.encode(prompt, add_special_tokens=False)
out = model.generate(
    torch.tensor([ids]),
    max_new_tokens=64,
    eos_token_id=tokenizer.eos_token_id,
)
print(tokenizer.decode(out[0, len(ids):].tolist(), skip_special_tokens=True))

自定义 MoELM,尚不支持 AutoModelForCausalLM;tokenizer 已带 ChatML chat_template。

冒烟观感(非正式)

中文闲聊可接上;简单算术偶发正确;英文与抽象解释仍不稳。请当作学习检查点。

局限

  • ~150M MoE 容量 — 幻觉与重复常见
  • 无 RLHF / 偏好优化
  • SFT 上下文 256;超长依赖 keep-head 截断策略
  • 停止符 <|im_end|>(id=2);参考 generate 尚无 KV cache

引用

@misc{miniseek-m01,
  title        = {MiniSeek-M0.1},
  author       = {wyf-yfw},
  year         = {2026},
  howpublished = {\url{https://huggingface.co/wyf-yfw/MiniSeek-M0.1}},
  note         = {Ultra-small MoE Decoder-only chat (SFT) checkpoint}
}

致谢


🇬🇧 English

Ultra-small open decoder-only MoE chat checkpoint. Architecture params 150,217,216 ≈ 150.22M (tied); this release stores separate tok_emb + lm_head on disk (~153.49M elements), mirroring Dense D0.1-chat packaging. Pretrained base: MiniSeek-M0.1-base.

Goal: align toward DeepSeek (Dense → MoE, base → chat). Not a claim of parity.

Model summary

Model ID wyf-yfw/MiniSeek-M0.1
Base wyf-yfw/MiniSeek-M0.1-base
Family MiniSeek-M (MoE)
Version 0.1 (chat / SFT)
Parameters 150,217,216 (~150.22M tied); disk ≈ 153.49M elements
Weight file model.safetensors
Architecture MoE decoder-only (1 shared + 32 routed, top-2)
SFT context 256 tokens (short256 feasibility recipe)
Tokenizer MiniMind (vocab_size=6400)
Chat template ChatML (chat_template shipped)
License MIT

Training

Stage Detail
Base MiniSeek-M0.1-base · task 20261028-000054-56bd last.pt
SFT data sft_miniseek_v5_short256.jsonl
Init PT last.pt above
Release weights task 20261028-191818-db9d (moe-sft-v5-2-2) last.pt
Train step (last) 6937
Train loss (last) ≈ 1.91
max_seq_len 256
Optimizer AdamW · peak LR 2e-5 → min 1e-6

Recommended recipe: MoE PT last.pt → short256 + max_seq_len=256 MoE SFT; overlong keep-head.

How to use

Use messages + apply_chat_template — see the Chinese section for the full snippet.

Limitations

  • Small MoE capacity — hallucination and repetition common
  • No RLHF
  • SFT context 256
  • Stop token <|im_end|>; no KV cache yet

Citation

@misc{miniseek-m01,
  title        = {MiniSeek-M0.1},
  author       = {wyf-yfw},
  year         = {2026},
  howpublished = {\url{https://huggingface.co/wyf-yfw/MiniSeek-M0.1}},
  note         = {Ultra-small MoE Decoder-only chat (SFT) checkpoint}
}
Downloads last month
70
Safetensors
Model size
0.2B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for wyf-yfw/MiniSeek-M0.1

Finetuned
(1)
this model

Collection including wyf-yfw/MiniSeek-M0.1