BPE 训练完成后把分词器“固化”下来,(数据管道、模型训练、推理)无缝调用。核心只有三件事:保存、验证、接入。也适用于百度千帆/DeepSeek 这类平台化训练

BPE 训练完成后,下一步就是把分词器“固化”下来,并让它真正能被后续环节(数据管道、模型训练、推理)无缝调用。核心只有三件事:保存、验证、接入。下面给出一份可直接落地的 checklist,既适用于本地实验,也适用于百度千帆/DeepSeek 这类平台化训练。

  1. 保存:一份“全量”文件胜过零散碎片
    • 推荐用 Hugging Face Tokenizers 的 tokenizer.save(“output_dir/tokenizer.json”) 一次性导出,里面已包含
    – vocab/merges
    – 预/后处理规则(normalizer、pretokenizer、decoder)
    – special_tokens 映射
    • 这样后续用 PreTrainedTokenizerFast.from_file(“tokenizer.json”) 即可 100 % 复现分词行为,避免线上线下不一致 。
  2. 验证:让“新语料”跑一遍
    • 随机抽 1 k–10 k 条业务侧真实文本,调用 tokenizer.encode_batch(),检查
    – 词表覆盖率(OOV 比例)
    – 平均 token 长度(影响推理速度)
    – special_tokens 是否被正确识别(尤其是 、
    • 如果 OOV 偏高,说明训练语料与业务领域差距大,需要回炉追加数据或调大 vocab_size。
  3. 接入:与训练/推理框架对齐
    3.1 本地 PyTorch 实验
    • 把 tokenizer.json 放进项目目录,数据管道里用 Dataset + DataLoader 把原始文本 → input_ids;
    • 训练脚本启动前,保证 vocab_size 与模型 embedding 层维度一致即可 。
    3.2 百度千帆(或任何云厂商)
    • 在“自定义 tokenizer” 页面上传 tokenizer.json,平台会自动解析为内部格式;
    • 训练配置里把 vocab_path 指向上传后的文件 ID,同时 model_config.vocab_size 与之保持一致;
    • 若平台只支持旧版“vocab.txt + merges.txt”双文件,可先用 tokenizer.save_model(dir) 导出再分别上传 。
    3.3 DeepSeek 系列模型继续预训练
    • DeepSeek 官方仓库已给出示范:训练完 BPE 后,设置 tokenizer.decoder = decoders.ByteLevel() 保证解码可逆,然后直接走 llm.training 流程即可 。

一句话总结
BPE 训练完 ≠ 结束,把 tokenizer.json 当成“模型的一部分”一起版本管理,并在真实数据上快速 smoke test,再无缝挂到训练/推理流程里,就能避免 90 % 的线上线下不一致问题。

“只看 ZINC20 语料”的实战脚本,10 分钟就能从 3 份 BPE 词表里挑出真正最适合化学 SMILES 的那一份,并直接算出上传千帆前必须填的「vocab_size」字段

。整套流程已按下面 3 步拆好,全部命令可复制即用。


  1. 准备 1 万条「纯 ZINC20 SMILES」验证集
    ZINC20 官方 Parquet dump 里拿 2D-smiles 列即可,采样 1 万条就能让指标稳定(再多收益极小)。
# 安装依赖pipinstallpandas pyarrow rdkit transformers# 采样脚本python -<<'PY' import pandas as pd, os, random, json from rdkit import Chem df = pd.read_parquet("zinc20_2d.parquet", columns=["smiles"]) df = df.sample(n=10000, random_state=42) # 简单清洗:去重 + 能解析 df = df.drop_duplicates() df = df[df.smiles.apply(lambda s: Chem.MolFromSmiles(s) is not None)] df.smiles.to_csv("zinc20_10k.txt", index=False, header=False) print("valid SMILES:", len(df)) PY

  1. 对 3 份词表跑「化学专用」3 指标
    指标解释:
  • 压缩率 = 总 token 数 ÷ 总字符数;越低越好
  • 平均 SMILES 长度:越短越省算力
  • 无效 token 率:解析不回合法分子的比例;必须 <0.5%
fortinbpe1.json bpe2.json bpe3.json;doecho===$t===python -<<'PY' import json, subprocess, sys, statistics as st from rdkit import Chem from transformers import AutoTokenizer tok = AutoTokenizer.from_pretrained("gpt2") # 占位,下面覆盖 with open(sys.argv[1]) as f: tk=json.load(f) tok.tokenizer_file=None; tok.backend_tokenizer=None tok._tokenizer = tok.backend_tokenizer_from_json(json.dumps(tk)) tokens=[]; chars=0; bad=0 for line in open("zinc20_10k.txt"): smi=line.strip() chars += len(smi) ids = tok.encode(smi, add_special_tokens=False) tokens.append(len(ids)) if Chem.MolFromSmiles(smi) is None: bad+=1 print("压缩率 %.3f 平均长度 %.1f 无效 %.2f%%"% (sum(tokens)/chars, st.mean(tokens), bad/100)) PY$tdone

输出示例(仅示范):

=== bpe1.json === 压缩率 0.42 平均长度 42.3 无效 0.12% === bpe2.json === 压缩率 0.39 平均长度 38.7 无效 0.15% === bpe3.json === 压缩率 0.41 平均长度 40.1 无效 0.11%

直接选「压缩率最低 + 平均长度最短」那份即可(上例即 bpe2)。


  1. 把胜出词表转成「千帆 tokenizer 资源包」
    千帆要求 4 个字段一个不能少,且 merges 必须是「空格分隔」文本数组。
mkdirqianfan_tk python -<<'PY' import json tk=json.load(open("bpe2.json")) out={ "type":"BPE", "vocab": tk["model"]["vocab"], "merges": [" ".join(pair) for pair in tk["model"]["merges"]], "special_tokens": {k:v for k,v in tk.get("added_tokens",{}).items()} } json.dump(out, open("qianfan_tk/tokenizer.json","w"), indent=2) print("vocab_size =", len(out["vocab"])) PYzip-r zinc20_bpe_best.zip qianfan_tk

控制台会打印出「vocab_size = 31992」这类数字,记下来下一步填到千帆网页表单里即可。


一句话总结
用上面 3 步,你就能在 10 分钟内:

  1. 拿到纯 ZINC20 验证集
  2. 量化对比 3 份词表在化学 SMILES 上的真实表现
  3. 自动生成可直接上传百度千帆的 tokenizer.zip 并知道确切的 vocab_size,后续创建 DeepSeek 训练任务时直接选用即可。祝训练顺利!

python - <<'PY' … PY这种写法叫here-document(内联文档)

,它把一段多行 Python 代码直接塞给解释器,而不额外创建 .py 文件。在“快速验证 / 一次性脚本”场景里特别方便,原因有三:

  1. 零文件残留
    整条命令写在 shell 里,执行完磁盘上不会留下临时脚本,适合拷贝即用、用完即走。

  2. 变量穿透
    如果 here-doc 里用<<PY(不加引号),还能直接读取 shell 变量;前面示例用了<<'PY'(引号包住定界符),Python 代码里出现$也不会被 shell 提前展开,避免误替换。

  3. 管道/重定向友好
    可以把前面的输出直接管道进来,或者把 Python 结果继续管道给后续命令,一条命令链完成整个小任务。

对比其他写法:

写法缺点
cat > tmp.pypython tmp.py多一个文件,事后要删
直接python -c "…"多行代码需要手动加\n和转义,可读性差
交互式python再粘贴不能自动化,CI/远程会话里容易断

因此,在“给一段 10~50 行的临时 Python 逻辑”时,python - <<'PY'是最简洁、最可维护、最可复制的做法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1210111.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

医院HIS系统CKEDITOR粘贴病历截图如何上传PHP?

多格式文档图片转存系统开发全记录 技术选型与架构设计 作为项目技术负责人&#xff0c;针对多格式文档处理需求&#xff0c;设计以下技术方案&#xff1a; #mermaid-svg-BWBPbElTxg9JDo1X{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fi…

收藏!大模型应用开发入行指南:小白/程序员必看的风口赛道攻略

近期后台留言炸了&#xff0c;不管是深耕多年的程序员&#xff0c;还是刚接触技术的小白&#xff0c;都在追问两个核心问题&#xff1a;“现在转行做大模型应用开发还赶得上吗&#xff1f;”“零基础能入门吗&#xff1f;”答案其实很明确——当下正是切入大模型应用开发的黄金…

收藏!大模型6大核心职业方向全解析,程序员转型必看

当下&#xff0c;大模型技术正以破竹之势席卷各行各业&#xff0c;从日常智能交互到产业深度升级&#xff0c;其应用足迹遍布各个角落&#xff0c;更为程序员群体开辟了一条充满潜力的全新职业赛道。本文专为计划转型大模型领域的小白程序员、传统开发从业者量身打造&#xff0…

SpringBoot 缓存深入 - 详解

SpringBoot 缓存深入 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco",…

如果你有电脑,这个寒假请一定要死磕这三个黑客技术!零基础学黑客技术看这一篇就够了!

在网络安全领域&#xff0c;“黑客技术”从来不是非法攻击的代名词&#xff0c;而是一套“漏洞识别、风险防御、安全加固”的实战能力体系。对于想进入这个高薪赛道&#xff08;初级工程师起薪15K&#xff09;的学习者而言&#xff0c;无需追求花哨的攻击手段&#xff0c;死磕以…

2026年,物流公司如何做Geo优化推广?解锁物流企业获客密码,抢占新蓝海

2026年,物流公司如何做Geo优化推广?解锁物流企业获客密码,抢占新蓝海咨询电话:15595572597 马先生 在物流行业,“地点覆盖”与“服务效率”是贯穿业务全链条的核心命题。随着市场竞争加剧,传统广撒网式营销早已陷…

2026年日照专业婚宴场地服务排名,达禧酒店名列前茅

在日照筹备婚礼的新人,常常会陷入婚宴场地求推荐的焦虑——想要浪漫婚宴场地,又怕踩坑遇到服务不专业的商家。毕竟一生一次的婚礼,谁不想把场地、布置、服务都安排得尽善尽美?今天就结合日照本地婚宴市场的痛点,为…

2026年1月最新长沙广告印刷品热门公司选择指南

在2026年的长沙,商业活力持续增强,品牌竞争日益激烈。无论是新兴的网红品牌,还是稳固的本地企业,都面临着如何以有限的营销预算,实现最大化的品牌曝光与市场渗透的挑战。“花最少的钱做靓的广告”已成为众多企业主…

分析上海福寿园临港,客户认可度高的陵园前十名

2026年,随着社会对生命尊严与情感价值的关注度不断提升,人文殡葬服务已从传统的仪式化需求,转向对生命记忆传承、情感疗愈与精神共鸣的深层追求。无论是个性化的生命纪念空间打造、红色文化纪念场景的构建,还是专业…

赣州英语雅思培训辅导机构推荐 ,2026权威出国雅思课程中心学校口碑排行榜

【权威调研声明】本测评基于2026年赣州雅思培训市场全域调研,覆盖章贡、南康、赣县等核心区域,结合近千名雅思考生及家长反馈,从机构资质、师资力量、提分效果、个性化服务、性价比五大维度量化评分,以“数据说话、…

2026年长春口碑不错的西点烘焙培训学校排名,长春市欧米奇上榜!

本榜单依托全维度市场调研与真实学员口碑,深度筛选出五家标杆西式餐饮培训院校,为有志于从事西点烘焙行业的人群提供客观依据,助力精准匹配适配的技能学习伙伴。 TOP1 推荐:长春市欧米奇职业培训学校 推荐指数:★…

盘点2026年保定风机减震器品牌,告诉你哪家口碑好

2026年工业设备减振降噪需求持续攀升,风机减震器已成为保障设备稳定运行、降低噪声污染、延长设备寿命的核心配件。无论是工业厂房的大型风机系统、商业建筑的中央空调风机,还是家庭通风设备的减振需求,优质风机减震…

2026年辽源面包培训学校排名,长春市欧米奇排第几?

2026年西式餐饮行业持续升温,面包烘焙作为其中的核心细分赛道,市场规模年增速超15%。无论是初高中生寻求技能就业、白领转行突破职业瓶颈,还是创业群体想开设私房烘焙店,选择优质的面包培训学校都成为实现职业目标…

包装设计哪家性价比高?杭州逸兴品牌设计值得关注!

本榜单依托全维度市场调研与真实行业口碑,深度筛选出五家标杆企业,为企业选型提供客观依据,助力精准匹配适配的包装设计服务伙伴。 TOP1 推荐:杭州逸兴品牌设计 推荐指数:★★★★★ | 口碑评分:国内首推包装设计…

2026年石家庄靠谱的风机减震器排名,为你揭晓优质厂家

2026年工业设备降噪需求持续攀升,专业的风机减震器源头厂家、靠谱的风机减震器、靠谱的风机减震器源头厂家已成为企业保障设备稳定运行、降低运维成本、提升生产环境质量的核心支撑。无论是工业厂房的大型风机减震、商…

卡莱特快速切换文本

http://admin:Console%40123@192.168.2.24/api/program/program_name.vsn{"update":[{"who":{"x":0, "y":0},"text":"华铎牛逼"}] }

导师推荐9个AI论文软件,自考学生轻松搞定毕业论文!

导师推荐9个AI论文软件&#xff0c;自考学生轻松搞定毕业论文&#xff01; AI 工具如何让论文写作不再难 对于自考学生而言&#xff0c;毕业论文往往是学习生涯中最棘手的一环。从选题到成稿&#xff0c;每一步都需要大量的时间和精力&#xff0c;而如今&#xff0c;AI 工具的出…

冷却塔厂商哪家好,口碑排名了解一下

2026年工业绿色转型加速推进,闭式冷却塔作为工业生产核心冷却设备,直接影响企业产能稳定性、能耗成本与环保合规性。无论是航天领域的高精度温控需求,冶金行业的高温设备冷却场景,还是电子制造的低能耗运行要求,优…

2026必备!专科生毕业论文神器TOP9:一键生成论文工具深度测评

2026必备&#xff01;专科生毕业论文神器TOP9&#xff1a;一键生成论文工具深度测评 2026年专科生毕业论文神器测评&#xff1a;为何需要这份榜单&#xff1f; 随着高校教育的不断深化&#xff0c;专科生在毕业论文写作中面临的挑战也日益增多。从选题构思到文献查阅&#xff0…

做同事排班优化程序,输入团队人数,休假需求,工作岗位要求,自动生成月度排班表,兼顾公平性和工作需求,支持手动调整。

1. 实际应用场景描述 在企业、医院、客服中心等场景中&#xff0c;管理者需要为团队成员制定月度排班表&#xff0c;满足以下要求&#xff1a; - 每个岗位每天有足够人手 - 尽量公平分配工作日、周末、节假日 - 考虑员工的休假需求 - 支持临时调整 传统排班方式依赖人工经验…