大型语言模型:从原型到生产(EuroPython主题演讲)
大型语言模型(LLMs)已展现出令人印象深刻的能力,其影响成为当下热门话题。未来会是什么样子?我们会只与机器人交谈吗?提示工程会取代编程吗?或者我们只是在炒作不可靠的鹦鹉模型并浪费资金?本次演讲将展示LLM时代自然语言处理的愿景,以及如何利用大型语言模型从原型到生产部署更成功的NLP项目的务实方法。
NLP任务理解
生成式任务:
- 单文档/多文档摘要
- 问题解决
- 释义改写
- 推理
- 风格转换
- 问答系统
预测式任务:
- 文本分类
- 实体识别
- 关系抽取
- 语法与形态分析
- 语义解析
- 共指消解
- 语篇结构分析
技术架构对比
任务专用模型 vs LLM
大型语言模型(上下文学习):
- 对文本含义有深入理解
- 难以准确理解用户意图
任务专用模型(微调BERT等):
- 对文本含义理解较浅
- 能精确执行指定任务
性能指标对比
文本分类准确率(SST2/AG News/Banking77数据集):
- GPT-3基线:65-100%(随训练数据比例增加)
- 专用模型表现稳定优于LLM
命名实体识别F值与速度:
- GPT-3.5:F值78.6,速度<100词/秒
- GPT-4:F值83.5,速度<100词/秒
- spaCy:F值91.6,速度4,000词/秒
- Flair:F值93.1,速度1,000词/秒
- 最新SOTA模型:F值94.6,速度1,000词/秒
现代实用NLP方法
三阶段愿景
- 对话即系统:LLM管理整个交互流程
- 提示工程替代专用模型:LLM取代特定机器学习模型
- LLM辅助管道构建:开发者通过代码和训练数据构建系统
核心组件
- 结构化数据输出
- 人工参与循环
- 快速原型设计
- 开源技术驱动
- 对话与图形界面
实践应用方案
LLM赋能协作数据开发环境
- 标注任务分配:向LLM分配标注任务
- 标签决策审查:审查标签决策并纠正错误
- 提示调优:通过实证比较优化LLM提示
- 数据集构建:训练和评估高效生产就绪的管道
技术工具集成
- spacy-llm:将非结构化文本输入转换为结构化文档对象
- 支持功能:
- 命名实体识别
- 文本分类
- 关系抽取
- 词形还原
- 技术混合:结合监督模型、规则和LLM的混合方法
核心结论
专用模型在LLM支持下表现更优:
- 更具体:任务针对性更强
- 更小巧快速:运行效率更高
- 更私有:数据安全性更好
- 更优秀:整体性能更卓越
不应满足于比现有系统更差的解决方案,而应致力于构建更好的技术体系。