资讯中心

LFM2.5-Embedding-350M-bf16开发者指南:从模型加载到推理的完整流程

📅 2026/7/16 21:10:28
LFM2.5-Embedding-350M-bf16开发者指南:从模型加载到推理的完整流程
LFM2.5-Embedding-350M-bf16开发者指南从模型加载到推理的完整流程【免费下载链接】LFM2.5-Embedding-350M-bf16项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/LFM2.5-Embedding-350M-bf16LFM2.5-Embedding-350M-bf16是基于MLX框架构建的多语言密集型双向编码器专为Apple Silicon设备优化能够生成1024维的CLS嵌入向量适用于句子相似度计算和检索任务。本指南将帮助开发者快速掌握从模型加载到推理部署的全过程。 模型简介与核心特性LFM2.5-Embedding-350M-bf16是LiquidAI/LFM2.5-Embedding-350M模型的MLX格式转换版本保留了原始的bf16精度未进行量化处理。该模型具有以下核心特性多语言支持原生支持英语、西班牙语、德语、法语等10种语言混合架构结合短卷积(conv)与GQA注意力机制(full_attention)的16层网络结构高效推理针对Apple Silicon优化支持本地快速部署高精度输出与原始PyTorch模型相比CLS嵌入的余弦相似度接近1.0模型架构定义在config.json中包含16个隐藏层其中交替使用卷积层和注意力层具体分布为[conv, conv, full_attention, conv, conv, full_attention, ...]。 环境准备与安装系统要求Apple Silicon设备M1/M2/M3系列芯片macOS系统Python 3.8环境安装依赖# 克隆仓库 git clone https://gitcode.com/hf_mirrors/mlx-community/LFM2.5-Embedding-350M-bf16 cd LFM2.5-Embedding-350M-bf16 # 安装依赖 pip install mlx mlx-embeddings sentencepiece 模型加载与初始化基本加载方法使用MLX框架加载模型非常简单只需几行代码即可完成import mlx.core as mx from lfm2_bidirectional import ModelArgs, EmbeddingModel # 加载配置 import json with open(config.json, r) as f: config json.load(f) args ModelArgs.from_dict(config) # 加载模型权重 weights mx.load(model.safetensors) weights sanitize(weights) # 处理卷积层权重格式 # 初始化模型 model EmbeddingModel(args) model.load_weights(list(weights.items()))模型结构解析模型核心实现位于lfm2_bidirectional.py主要包含以下组件Lfm2Backbone基础编码器包含词嵌入和16个解码器层EmbeddingModel封装了CLS池化的嵌入模型提供encode方法Attention/ShortConv注意力层和卷积层实现MLP使用SwiGLU激活函数的多层感知机 文本编码与推理基本编码流程使用模型对文本进行编码生成嵌入向量from transformers import AutoTokenizer # 加载分词器 tokenizer AutoTokenizer.from_pretrained(.) def encode_text(text: str) - mx.array: 将文本编码为1024维向量 inputs tokenizer( text, return_tensorsnp, paddingTrue, truncationTrue, max_length512 ) input_ids mx.array(inputs[input_ids]) attention_mask mx.array(inputs[attention_mask]) # 生成嵌入向量 with mx.no_grad(): embedding model.encode(input_ids, attention_mask) return embedding # 示例 query_embedding encode_text(query: 什么是机器学习?) doc_embedding encode_text(document: 机器学习是人工智能的一个分支...)相似度计算计算两个文本嵌入向量的余弦相似度def cosine_similarity(a: mx.array, b: mx.array) - float: 计算两个向量的余弦相似度 return mx.dot(a, b.T).item() similarity cosine_similarity(query_embedding, doc_embedding) print(f文本相似度: {similarity:.4f}) 性能评估与优化模型性能指标根据评估数据该模型在多种数据集上表现优异平均NDCG100.728在8个数据集上的平均值平均Recall100.775模型大小709 MBbf16精度与其他精度版本相比bf16版本保持了最高的检索质量同时提供了良好的性能精度NDCG10检索质量保留率模型大小bf160.728100.0%709 MB8-bit0.729100.1%377 MB4-bit0.730100.0%200 MB推理优化建议批量处理尽量批量处理文本充分利用硬件加速输入长度控制根据实际需求调整max_length避免不必要的计算缓存机制对频繁使用的文本嵌入进行缓存精度选择如果对模型大小有严格要求可以考虑8-bit或4-bit量化版本⚖️ 许可证与使用条款本模型遵循LFM Open License v1.0详细条款见LICENSE文件。使用前请特别注意本模型是独立转换版本不隶属于或由Liquid AI背书许可证包含商业使用阈值条款第5节请根据具体使用场景进行审查原始模型来源LiquidAI/LFM2.5-Embedding-350M 扩展资源模型配置详情config.json分词器配置tokenizer_config.json特殊 tokens 映射special_tokens_map.jsonMLX官方文档https://ml-explore.github.io/mlx/通过本指南您应该已经掌握了LFM2.5-Embedding-350M-bf16模型的基本使用方法。如需更深入的定制或优化可以参考源代码实现特别是lfm2_bidirectional.py中的模型架构定义。【免费下载链接】LFM2.5-Embedding-350M-bf16项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/LFM2.5-Embedding-350M-bf16创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考