亲爱的朋友们,
我的任务是分析一篇新闻文章并识别其中提到的人物、地点和组织。
传统上,我使用GLiner或斯坦福的Stanza来完成这项工作,但我开始尝试理解大型语言模型是否能做得更好。
作为基准,我尝试使用Anthropic的Sonnet 3.5来完成这项任务。
然后,我通过together.ai将它与Llama 3.1 405B Instruct Turbo进行了比较,因为我没有资源在本地运行这个模型。
最后,我尝试了使用本地Llama 3.1 70B完成相同的任务。
我原本希望会有一些检测或分类的损失(例如,将ORG误认为PER),但遗憾的是,检测损失非常明显。
以下是我得到的一些统计数据示例:
{
"title": "关于美国大选的播客",
"textlen": 7733,
"num_triples": 34,
"num_entities": 45,
"llm_large_provider": "Claude.ai",
"llm_large_modelname": "claude-3-5-sonnet-20240620"
}
{
"title": "关于美国大选的播客",
"textlen": 7733,
"num_triples": 14,
"num_entities": 17,
"llm_large_provider": "Together.ai",
"llm_large_modelname": "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo"
}
(num_triples计数实体之间识别出的主谓宾关系)
我手动检查了相同的文本以设定一个“黄金”标准,Sonnet 3.5的表现相当令人印象深刻,F1值为0.97。
从上面的数据可以看出,Llama 405B少了28个实体(和20个三元组)。
使用本地Llama 3.1 70B的结果甚至更差。
这种结果质量的大幅下降是否很大程度上取决于我使用的提示?
简化并翻译成英文,我的提示大致是这样的:
system_prompt = {You are an expert and helpful assistant able to identify entitites and their relations from an Italian text"
user_prompt = f"""Analyze the following text {article_text}. Instructions: identify the people, places and organizations mentioned in the text. Create triples that express how they relate to each other. Express the relation between entities with succint italian phrases. Example {"subject": {"surface": "Joe Biden", "type": "PER"}, {"predicate": "president of"}, "subject": {"surface": "USA", "type": "LOC"}}"""
感谢任何见解。
讨论总结
本次讨论主要聚焦于Llama 3.1模型在实体识别任务中的性能问题。参与者们比较了Llama 3.1与商业模型如Anthropic’s Sonnet 3.5的表现,发现Llama 3.1在识别实体和关系方面存在显著差距。讨论涉及了提示优化、多语言处理、模型训练和数据增强等多种改进方法,以及社区成员对使用特定工具如autolabel和outlines的建议。总体上,讨论氛围积极,参与者们寻求提高模型性能的策略,并分享了各自的经验和见解。
主要观点
- 👍 Llama 3.1在实体识别任务中的表现不如商业模型
- 支持理由:通过对比实验,Llama 3.1在实体和关系识别上的数量显著少于商业模型。
- 反对声音:有用户建议通过优化提示或使用其他模型如Gemma 27B来改善性能。
- 🔥 使用fewshot prompt可能提高Llama 3.1的实体识别性能
- 正方观点:许多用户支持通过fewshot prompt来优化模型表现。
- 反方观点:部分用户认为这可能增加系统开销,建议寻找更高效的解决方案。
- 💡 LoRa finetune可能是另一种提升性能的方法
- 解释:社区中有声音认为通过LoRa finetune可以进一步优化模型的实体识别能力。
- 🌍 多语言处理能力对模型性能的影响
- 解释:讨论中提到非英语语言可能影响模型的性能,建议尝试多语言模型如Gemma2。
- 🛠️ 工具推荐和社区反馈
- 解释:社区成员推荐使用autolabel和outlines等工具,并期待作者的实际测试结果。
金句与有趣评论
- “😂 Use a fewshot prompt instead of giving the llm one example.”
- 亮点:简洁地提出了一个实用的优化建议,受到社区的广泛支持。
- “🤔 Could the fact it’s in a non-English language have something to do with the large language model not large languaging very well?”
- 亮点:提出了一个有趣且值得探讨的问题,引发了对多语言处理能力的讨论。
- “👀 I found mistral Nemo and Cohere Aya are the best for entity recognition and relationships extraction based on accuracy, context understanding and following instructions.”
- 亮点:分享了个人经验,为寻找高性能模型提供了实际参考。
情感分析
讨论的总体情感倾向是积极的,尽管Llama 3.1的表现不如预期,但社区成员们积极探讨改进方法,并分享各自的经验和见解。主要分歧点在于如何优化模型性能,包括提示优化、模型选择和数据处理等方面。可能的原因包括模型训练数据的多样性、提示设计的合理性以及多语言处理能力的提升。
趋势与预测
- 新兴话题:多语言处理能力和提示优化策略可能会成为后续讨论的热点。
- 潜在影响:通过优化提示和选择合适的模型,可以显著提高实体识别任务的准确性和效率,对相关领域的研究和应用产生积极影响。
详细内容:
标题:Llama 3.1 在实体识别任务中的表现引发热议
在 Reddit 上,一则关于“Llama 3.1 用于实体识别似乎比大型商业模型弱很多”的帖子引起了众多网友的关注。该帖子获得了大量的讨论,评论数众多。
原帖作者的任务是分析新闻文章并识别其中提到的人物、地点和组织。作者尝试了多种模型,包括 Anthropic 的 Sonnet 3.5、Llama 3.1 405B Instruct Turbo 以及本地的 Llama 3.1 70B 等。然而,Llama 3.1 的检测结果不如预期,损失的检测非常明显,并给出了具体的统计数据示例。作者还提出了是否因使用的提示而导致结果质量大幅下降的疑问,并分享了所构造的提示。
讨论的焦点主要集中在如何提升模型的实体识别效果。有人建议使用 fewshot 提示,称其可能使 Llama 8b 在实体检测方面表现出色。还有用户提到 LoRa 微调可能会有帮助。有人指出未微调的 LLM 文章实体识别中,模型越大输入表现越好,但可能包含更多先入为主的观念,建议通过增加文本噪声和对抗性示例来增强训练和验证数据。
有用户分享道:“我的文章实体识别案例是芬兰新闻文章,由于芬兰语在训练数据中的代表性较差,我使用了‘Kansallisarkisto/finbert-ner’结合‘dslim/distilbert-NER’来获取芬兰语和罗曼语实体。”
也有人关心是否使用了结构化输出库以确保有效的 JSON 输出,还有用户分享了相关的工具和链接。
关于语言对模型表现的影响,有人认为非英语语言可能会导致大型语言模型表现不佳,但作者认为可能性不大。
有人提出 Gemma 27B 对于意大利语可能会有更好的结果,也有人认为 Mistral Nemo 和 Cohere Aya 在实体识别和关系提取方面表现出色。
讨论中的共识在于大家都在积极探讨提升模型实体识别效果的方法。
总之,这场关于 Llama 3.1 在实体识别任务中表现的讨论十分热烈,为相关研究提供了丰富的思路和参考。
感谢您的耐心阅读!来选个表情,或者留个评论吧!