WordLlama:在消费级GPU上奔跑的“瘦子”

文摘   科技   2024-09-20 08:28   美国  

庞德公

编辑郭嘉

----->更多内容,请移步“鲁班秘笈”!!<-----

David Miller表示该模型的目标很明确:弥合尖端 AI 研究和实际应用之间的差距。他认识到,许多现有 NLP模型需要大量的计算资源,并且通常局限于专有系统,从而限制了它们的可访问性。作为回应,WordLlama被设计为既轻量级又高效,使更广泛的用户能够在不牺牲质量的情况下将高性能 NLP 集成到他们的工作流程中。


WordLlama一个开源、快速、轻量级 (16MB) NLP 工具包,它是一种用于NLP和单词嵌入的实用型模型,它类似于GloVe、Word2Vec或FastText。它首先从最先进的LLM(例如 LLaMA3 70B)中提取Token Embedding的编码表,并且训练一个小型的、无上下文的通用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等不同维度在不同任务上与其他同类的对比。WordLlama支持多语言,可以跨各种语言进行训练和部署。它处理多种语言的能力扩大了它在客户服务、内容生成和许多其他需要多功能语言功能领域的应用潜力。下面为它的实例代码,轻巧便用。


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_iterations=100, tolerance=1e-4) # 根据查询过滤候选项wl.filter(query, candidates, threshold=0.3) # 根据查询返回前k 个字符串wl.topk(query, candidates, k=3) 


鲁班号导读火热上线!!
------>敬请移步“鲁班秘笈”!<------
------>敬请移步“鲁班秘笈!<------
------>敬请移步“鲁班秘笈!<------

    鲁班模锤
    基于开源技术生态,跟踪与普及人工智能、隐私计算、区块链以及数据空间的最新技术。着力于数据治理自动化,依托语料库构建数据可信流通方案,为所有企业提供平等的数据增益服务。
     最新文章