David Miller表示该模型的目标很明确:弥合尖端 AI 研究和实际应用之间的差距。他认识到,许多现有 NLP模型需要大量的计算资源,并且通常局限于专有系统,从而限制了它们的可访问性。作为回应,WordLlama被设计为既轻量级又高效,使更广泛的用户能够在不牺牲质量的情况下将高性能 NLP 集成到他们的工作流程中。
WordLlama一个开源、快速、轻量级 (16MB) NLP 工具包,它是一种用于NLP和单词嵌入的实用型模型,它类似于GloVe、Word2Vec或FastText。它首先从最先进的LLM(例如 LLaMA3 70B)中提取Token Embedding的编码表,并且训练一个小型的、无上下文的通用Embedding模型。
它在基准测试中优于GloVe 300d等流行的单词模型,同时大小明显更小(默认模型为16MB vs >2GB)。重要的是它能根据实际生产的需要灵活截断Token的嵌入维度,有点类似“俄罗斯套娃模式”。最大的模型 (1024维) 可以截断为 64、128、256 或 512维度使用。
它支持二进制嵌入模型以加快计算速度,在CPU上面也是能够快速运行,WordLlama 非常适合轻量级 NLP 任务,例如训练 sklearn 分类器、执行语义匹配、重复数据删除、排名和聚类。它非常适合创建 LLM 输出评估器。因为它的紧凑设计,任何人可以在短短几个小时内在消费类GPU 上训练模型。它的速度和多功能性使其成为探索性分析和各类应用的绝佳助手。
上图WL在64/128/256/512/1024等不同维度在不同任务上与其他同类的对比。多语言,可以跨各种语言进行训练和部署。它处理多种语言的能力扩大了它在客户服务、内容生成和许多其他需要多功能语言功能领域的应用潜力。下面为它的实例代码,轻巧便用。
from wordllama import WordLlama# 加载默认的 WordLlama 模型wl = WordLlama.load()# 计算两个句子之间的相似度similarity_score = wl.similarity("我去了车那里", "我去了当铺")print(similarity_score)# 输出: 0.06641249096796882# 根据与查询的相似度对文档进行排名query = "我去了车那里"candidates = ["我去了公园", "我去了商店", "我去了卡车", "我去了车辆"]ranked_docs = wl.rank(query, candidates)print(ranked_docs)# 输出:# [#('我去了车辆', 0.7441646856486314),#('我去了卡车', 0.2832691551894259),#('我去了商店', 0.19732814982305436),#('我去了公园', 0.15101404519322253)# ]# 其他推理方法# 模糊去重wl.deduplicate(candidates, threshold=0.8)# 使用 kmeans/kmeans++ 初始化进行标签wl.cluster(docs, k=5, max_iteratinotallow=100, tolerance=1e-4)# 根据查询过滤候选项wl.filter(query, candidates, threshold=0.3)# 根据查询返回前k 个字符串wl.topk(query, candidates, k=3)
本文转载自,作者:
本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载者并注明出处:https://jmbhsh.com/yulebagua/32833.html