☰
5分钟上手d1-omni-600M:从安装到首次多模态决策的完整入门教程
2026/10/23 2:02:23 网站建设 项目流程

【免费下载链接】d1-omni-600M

项目地址:https://ai.gitcode.com/hf_mirrors/LiquidAI/d1-omni-600M
点击查看免费下载

d1-omni-600M 是 Liquid AI 开源的 600M 参数多模态决策模型(edge decision model):给它一段文本、一张图片或一段语音,再加上几个命名问题,它就能直接给出"是/否"、分类选择或评分答案——全程零输出 token,不生成任何文字,答案直接从模型分布中读出。对于需要意图识别、工单路由、内容审核、语音指令分类等"快速判断"场景的工程师来说,这是目前体积最小的选择之一。

一、它是什么:多模态决策模型一句话入门

🧠传统大模型 vs d1-omni-600M

对比项普通大模型d1-omni-600M
输出方式逐 token 生成文字,需解析零输出 token,直接读分布
输入模态多为纯文本文本 + 图像 + 语音
参数量通常 7B 起步587M,端侧可部署
典型用途对话、写作判断、路由、打分

它的三大核心特性:

  • 视觉语言:文本 + 图像(大图自动分块,一次可传多张图)单次前向出结果
  • 音频语言:文本 + 最长 30 秒语音单次前向
  • 共享主干:视觉编码器(94M,SigLIP2)、音频编码器(112M,17 层 FastConformer)共用同一个 381M 的 LFM2.5 主干与决策头,三种模态跑同一套权重

⚠️ 注意:d1-omni-600M 不是聊天模型,它不写文字,只回答你定义好的"选择题"。

二、安装步骤:一条命令搞定 d1-omni-600M 环境

依赖非常轻量,要求transformers>=5.15:

pip install "transformers>=5.15" torch torchvision pillow soundfile

如果希望从源码研究,仓库地址为:git clone https://gitcode.com/hf_mirrors/LiquidAI/d1-omni-600M

仓库自带的核心文件:

  • modeling_d1.py:模型主体与system_one/system_one_batchAPI
  • encoder.py:共享主干 Trunk 与决策头 DecisionHead
  • vision.py:SigLIP2 视觉编码器与图像分块(tiling)逻辑
  • audio.py:16 kHz 音频前端与 FastConformer 编码器
  • prompt.py:问题渲染、选项编码与答案解析
  • config.json:模型配置(上下文长度 16384、各类型温度系数等)
  • tokenizer.json 与 tokenizer_config.json:分词器
  • LICENSE:采用 lfm1.0 许可证

三、快速加载模型:trust_remote_code 一行搞定

模型自带推理代码,加载时需要trust_remote_code=True。最快的加载方式:

import torch from transformers import AutoModel device = "cuda" if torch.cuda.is_available() else "cpu" dtype = torch.float32 if device == "cpu" else torch.float16 model = AutoModel.from_pretrained( "LiquidAI/d1-omni-600M", trust_remote_code=True, dtype=dtype ).to(device)

💡 官方实测:GPU 上用 float16 比 float32 更快,且答案完全一致;避免使用 bfloat16(约 0.8%~1.7% 的样本答案会变化)。

四、首次多模态决策:文本、图片、语音三种姿势

所有请求都通过同一个入口system_one(state, questions, images=None, audio=None)发起。问题遵循 Decision Index 规范,只有 3 种类型:

type含义criteria 写法返回字段
noul是 / 否可选,自定义 true/false 含义noul(P(yes))
choice命名选项中选一{选项名: 描述},至少 2 项choice、confidence、probabilities
score2~10 级有序打分级别描述列表,从低到高score(期望级别)、legend

4.1 文本决策:一次调用问多个问题

🎫 客服工单场景——一条输入同时回答"是否退款、归哪个团队、多紧急":

questions = { "refund": {"type": "noul", "instructions": "Is the customer asking for a refund?"}, "team": {"type": "choice", "instructions": "Which team should handle this?", "criteria": {"billing": "Charges, refunds", "technical": "App faults", "fraud": "Suspected unauthorised use"}}, "urgency": {"type": "score", "instructions": "How urgent is this?", "criteria": ["Can wait", "Today", "Blocking the customer now"]}, } print(model.system_one("I was charged twice this month, please refund one of them.", questions))

返回结构统一为{"answers": {问题名: 答案}, "usage": {"input_tokens": n, "output_tokens": 0}}——注意output_tokens恒为 0,这就是"零 token 输出"的含义。

4.2 图像决策:照片本身就是状态

🐱 数一数图片里有几只猫(图片可直接作为整个 state,state传None):

from transformers.image_utils import load_image image = load_image("cats_on_sofa.jpg") cats = {"type": "choice", "instructions": "How many cats are there?", "criteria": {"one": "One", "two": "Two", "more": "Three or more"}} print(model.system_one(None, {"cats": cats}, images=[image]))

大图会被自动切成最多 10 块 512px 分块加缩略图(详见 vision.py),多张图按顺序拼接即可。

4.3 语音决策:30 秒语音直接分类

🎙️ 传入 16 kHz 单声道音频(int16 或 float 采样),判断说话主题:

import soundfile as sf audio, rate = sf.read("voicenote.flac", dtype="int16") topic = {"type": "choice", "instructions": "What is the speaker talking about?", "criteria": {"food": "Food and meals", "travel": "Travel and transport", "weather": "The weather"}} print(model.system_one("Voice note from a user.", {"topic": topic}, audio=audio))

⚠️ 音频能力基于"英文用户与助手对话"场景训练,音频最长 30 秒、不足 0.5 秒会自动补齐。

4.4 批量处理:一次处理一批请求

tickets = ["Where is my parcel? It was due Monday.", "The app crashes when I open settings."] print(model.system_one_batch([(t, {"team": questions["team"]}) for t in tickets]))

五、模型内部是怎么工作的

想了解"零 token 决策"的魔法,可以按这条链路阅读源码:

  1. 媒体编码:图像/语音先被编码成一段"前缀嵌入"(prefix embeddings),接在文本前面——图像编码器见 vision.py,语音编码器见 audio.py
  2. 问题渲染:prompt.py 把每个问题渲染成<bos> 状态 问题 选项0 <mask> 选项1 <mask> ... <decide>形式的 token 序列
  3. 主干前向:encoder.py 中的 LFM2.5 双向主干(10 个短卷积层 + 6 个注意力层)单次前向
  4. 决策头打分:在每个<mask>位置做 softmax,直接得到各选项概率——这就是答案,没有任何生成环节

配置细节(如 16384 上下文、图像场景下文本截断到 896 token、各问题类型的校准温度)都写在 config.json 里。

六、性能表现与适用场景

📊 在 Decision Index 0.2.1 官方评分中,d1-omni-600M(587M)总分 15.95,在小型模型中表现领先(对比 Decider 2B 的 28.97 规模大数倍);在"当作决策任务"的基准测试中,7 项公共基准平均78.4 分,其中 Civil Comments 达 95.8、PAWS-X 达 79.5,均超过同级的 d1-3B 和 Decider 4B。

✅推荐使用场景:路由与分诊、内容审核、意图/主题分类、语音指令路由、抽取校验、重排序、Agent 护栏、视觉巡检

❌不适用:对话、长文写作(它不输出任何文字)

七、常见坑速查

问题原因与解决
同时传 images 和 audio 报错一个请求只能带图像或语音,二者取其一(ValueError)
图片太多报 "send fewer images"图像前缀占满了 16384 上下文,减少图片数量或分辨率
用了 bfloat16 答案异常改用 float16(GPU)或 float32(CPU)
语音只识别了 30 秒音频超过 30 秒会被截断,属设计行为

结语

d1-omni-600M 把"决策"从生成式大模型里解放出来:587M 的端侧体积、文本/图像/语音三模态统一入口、零 token 输出直读概率分布。5 分钟装好环境,几行代码就能跑通你的第一个多模态决策。如果你的业务需要大量高频的"判断型"调用,它值得立刻尝试。

【免费下载链接】d1-omni-600M

项目地址:https://ai.gitcode.com/hf_mirrors/LiquidAI/d1-omni-600M
点击查看免费下载

相关推荐

上一篇:Xray代码混淆与保护:生产环境下的WASM模块安全措施
下一篇:gh_mirrors/caf/caffe2性能调优参数:配置文件详解

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询