模型介绍
中文整理BitNet Embeddings
模型描述
BitNet Embeddings 是由微软 BitNet 团队开发的多语言文本嵌入模型系列。该模型采用仅解码器架构,使用最后 token 池化和 L2 归一化来生成密集文本嵌入。可广泛应用于文本检索、聚类、语义相似度、分类、双语文本挖掘和重排序等任务。在公开基准测试中表现具有竞争力,同时保持出色的推理和存储效率。
开发者:微软研究院 BitNet 团队
模型类型:基于 BitNet b1.58 的文本嵌入模型
支持语言:多语言
许可证:MIT 许可证
模型参数
| 模型版本 | 权重类型 | 参数量 | 嵌入维度 | 最大 Token 数 | MTEB v2 平均分 |
|----------|----------|--------|----------|---------------|----------------|
| bitnet-embeddings-270m | 1.58-bit | 270M | 640 | 32,768 | 66.26 |
| harrier-oss-v1-270m | bf16 | 270M | 640 | 32,768 | 66.5 |
| bitnet-embeddings-0.6b | 1.58-bit | 0.6B | 1,024 | 32,768 | 67.49 |
| harrier-oss-v1-0.6b | bf16 | 0.6B | 1,024 | 32,768 | 69.0 |
模型架构
基于 Transformer,集成 BitLinear 层(BitNet 框架)。采用旋转位置嵌入(RoPE)。使用 SubLN(子层归一化)实现量化训练稳定化。线性层和归一化层不含偏置项。
量化方式
原生 1.58-bit 权重和 8-bit 激活(W1.58A8)。权重量化为三值 {-1, 0, +1}。激活量化为 8-bit 整数。从头开始使用此量化方案训练,非后训练量化。
输入输出
输入:文本,最长 32,768 个 token
输出:L2 归一化的密集嵌入向量(270M 版本为 640 维,0.6B 版本为 1,024 维)
池化策略:最后 token(EOS)池化后接 L2 归一化
运行要求
为获得效率优势,建议使用专用 C++ 实现 bitnet.cpp。模型支持将输出嵌入量化为 8、4、2 甚至 1 bit,允许用户根据应用需求灵活权衡存储成本和检索性能。
基本用法
查询需要添加任务指令。任务定义应为一句描述任务的指令,用于通过自然语言指令为不同场景定制文本嵌入。文档端无需添加指令。使用最后 token 池化:使用最后一个非填充 token 的嵌入作为句子表示,然后进行 L2 归一化。
支持语言
模型基于多语言数据训练,支持包括阿拉伯语、保加利亚语、加泰罗尼亚语、捷克语、丹麦语、德语、希腊语、英语、西班牙语、爱沙尼亚语、波斯语、芬兰语、法语、希伯来语、印地语、克罗地亚语、匈牙利语、印尼语、意大利语、日语、韩语、立陶宛语、拉脱维亚语、马其顿语、马来语、荷兰语、挪威语、波兰语、葡萄牙语、罗马尼亚语、俄语、斯洛伐克语、斯洛文尼亚语、阿尔巴尼亚语、塞尔维亚语、瑞典语、泰语、土耳其语、乌克兰语、乌尔都语、越南语和中文在内的多种语言。
限制
该模型不生成人类可读的文本或其他多模态内容,而是将输入文本映射到密集嵌入向量,供下游向量数据库或分类器使用。
训练数据包含多语言数据集混合,但可能无法代表低资源语言的多样化语言、文化或地理背景。因此,低资源语言的表现可能显著受限。
训练数据主要涵盖通用知识任务。法律、医学或科学文献等特定或专业领域可能未得到充分代表,这些领域的结果应谨慎解读。
不建议在商业或现实世界应用中使用 BitNet Embeddings,无需进一步测试和开发。该模型发布用于研究目的,需要额外评估和微调以确保高风险场景的可靠性和公平性。
预测可能延续训练数据中存在的偏见。对极低资源语言和代表性不足的领域支持有限。该模型专为文本嵌入任务(检索、相似度、分类)设计,不适用于文本生成。
评估分数(MTEB v2)
| 模型 | 双语分类 | 聚类 | 配对分类 | 重排序 | 检索 | STS | 平均分 |
|------|----------|------|----------|--------|------|-----|--------|
| bitnet-embeddings-270m | 80.47 | 71.09 | 52.37 | 79.72 | 60.50 | 66.71 | 66.26 |
| bitnet-embeddings-0.6b | 81.47 | 72.65 | 53.06 | 80.47 | 62.12 | 68.33 | 67.49 |
常见问题
是否需要为查询添加指令?
是的,这是模型的训练方式,否则会出现性能下降。任务定义应为一句描述任务的指令,用于通过自然语言指令为不同场景定制文本嵌入。文档端无需添加指令。
为什么复现的结果与模型卡片中报告的略有不同?
不同版本的 transformers 和 pytorch 可能导致微小但非零的性能差异。
该模型使用什么池化策略?
模型使用最后 token 池化——使用最后一个非填充 token 的嵌入作为句子表示。嵌入随后进行 L2 归一化。
优先采用原作者提供的中文模型卡片;仅有英文说明时由闲社AI翻译整理。重要参数、许可证和商用范围请以原文为准。
你将获得什么
完整仓库方式包含该固定版本中的权重、配置、分词器及说明文件;指定版本方式只下载所选文件或整组分片。多模态模型的投影文件、配置等依赖,请按作者说明配齐。
完整仓库可能包含多个权重格式,因此需要的磁盘空间可能大于单一格式的模型大小。下载文件不等于完成模型部署。
使用前须知
运行模型需要的设备、工具与依赖,以原作者说明为准。
是否允许商用、修改和分发,请查看模型许可证。
闲社提供资料与镜像下载方法,不代表已运行模型或完成安全审计。下载的代码应先检查,再执行。
资料或下载有问题?
登录后可提交反馈。
