除了用机器学习(ML)来解决购物推荐问题,Line台湾也开始拥抱大型语言模型(LLM),来提高工作生产力。
运用LLM的3大挑战
在剖析自家LLM实战经验前,Line台湾机器学习工程师李婕瑜先是点出,企业运用LLM提高工作生产力时,所面临的3大挑战。
首先,企业采用LLM,目的是要提高作业效率,尤其要能即时支持业务应用。这个需求,考验了企业对LLM的运维管理能力,得要从原本熟悉的机器学习运维(MLOps),进入到大型语言模型运维(LLMOps)领域,学习新的流程集成与团队协作。
再来,稳定性也是一大挑战。因为,LLM由提示(Prompt)驱动,这些提示以自然语言表达,不像是程序语言有固定、严谨的格式。也因此,提示变动灵活,可能多个字、改个字,LLM就会给出截然不同的答案。于是,企业得要做好提示管理,记录提示版本,才能维持服务稳定。
企业运用LLM,还会遇到安全性挑战。因为这些LLM应用,不只要避免输出歧视内容,也要符合AI相关法规,满足透明性、可解释等原则,像是要能解释LLM为何给出特定答案等。李婕瑜指出,由于LLM应用场景广泛,Line不只遵守安全法规,接下来还会多想一步、主动出击,来寻找工具、确保LLM产出的答案更安全。
LLM客服案件分类的提示管理
不只上述痛点,李婕瑜也分享,Line实际应用LLM时遇到的2项难题,包括如何审查LLM生成内容,以及LLM调整到什么程度,才算是够好。
她以Line客服案件分类解释器为例,Line台湾本部每天会接收大量的客诉案件,但为厘清案件来优化整体Line服务方向,客服人员得先对案件贴标、分类,包括产品、政策、活动、系统问题、客服运营等类别。
在这个项目中,Line想借助LLM来辅助案件分类,自动产出客诉标签和整理过的事件原因,来加速客服人员整理需改善之处。
但在执行过程中,Line很快遇到了问题。因为LLM提示撰写的技术门槛低,不只工程师,连业务、PM都能写,造成提示内容多变,反而影响了LLM的产出和性能,Line甚至用R&R混乱来形容。
为解决这个问题,Line采用了名为CO-STAR的提示词撰写架构,来切分提示任务。这几个字母分别代表不同要素,比如C是指场景(Context),也就是在提示中描述任务概况、赋予LLM角色;O则指目标(Objective),即在提示中告知LLM想实现的目标,像是“给出案件类别,并总结案件始末”。
再来是S,也就是回复风格(Style),比如告诉LLM,要以客服身份回答问题。T则是语调(Tone),可以在提示中,要求LLM以温柔的语调回复。A则指受众(Audience)目标,R是输出的格式(Response),比如“将标签和案件解释区分开来”这类描述。
有了CO-STAR切分提示任务,接着还要依据项目特性,来对6个提示类型排序,才能发挥效果。这是因为,每项LLM项目有其重点,以客服案件分类为例,C、O、R类提示更为重要。因此,Line将客服案件分类的提示任务,改以CORAST的顺序来重排。
下一步则是确认CORAST各阶段的开发人员和验收人员,比如在C阶段,可由熟悉案件分类和定义的客服人员、业务人员来撰写。又或是在S、T部分,客服人员有其偏好的风格和语调,因此可担任验收人员,开发人员只需专注格式处理及提示撰写。
LLM要优化到什么程度才够好?
不只如此,这个LLM案件分类项目,还有第2项挑战,也就是LLM要优化到什么程度,才算够好。
李婕瑜分析,当POC项目快速创建后,团队会观察LLM表现,来决定是否采用其他改善方法,来提高LLM性能。以Line客服案件分类解释器为例,团队将准确度作为模型表现评估的指标,要是LLM产出低于60%,意味着模型不清楚提示意思。
此时,Line除了考虑常见的检索增强生成(RAG)、微调等补强手段,还会衡量加入规则式解法、思维链(CoT)或少样本学习等方法,来提高LLM生成准确度。
再来,LLM如何才够好,还与业务团队的预期有关。意思是,开发团队需与业务团队讨论,找出合理的初期LLM准确度共识,“最好是定在当前平均表现的正负10%,”李婕瑜建议。
接下来,只需管控LLM输出的内容格式统一,集成至既有服务中,LLM项目就大功告成了。
可善用开源工具实例LLMOps
不只是提示管理,LLMOps也是应用LLM的一大课题。
一般来说,LLM应用流程包括了选择基础模型、提示工程、评估结果、改善和最终部署上线。但Line思考,能否将人工需介入的流程,缩短为2步骤,即上传测试数据、进行提示工程,其他的评估、找出改善空间、决定部署上线等步骤,则由工具自动执行。
于是,Line自建一套内部LLM开发管理工具,不少项目都采用。但为了与社交媒体分享这样的架构,Line找到一款免费开源工具Pezzo,来说明如何创建LLM运维管理平台。它的好处是,可集中管理不同项目的提示,简化了提示编辑和版本管理,还能可视化列出每个开发项目成本,让用户一眼掌握LLM项目概况。此外,李婕瑜也推荐开源的ML生命周期管理工具MLflow,因为MLflow也支持提示管理,可记录不同提示版本表现和差异,兼顾ML和提示管理。
有了这些工具,LLM流程流畅许多,比如在Pezzo中编辑提示后,开发者就能创建页面,来输入提示样板元数据,再让用户决定是否要做RAG。若需要,只需上传所需数据即可,之后通过MLflow自动完成实验。这些实验数据,像是提示版本、分数、模型和时间等,最后都会呈现在起初创建的页面,Line的LLM客服案件分类器也是如此管理。
Line实例LLMOps,不单为了管理,还为应对法规,来提早应对未来可能面临的问责机制。因此,他们一方面创建问责制度,另一方面也开始评估,运用LLM检测生成的广告文案是否符合法规。李婕瑜举例说明,广告文案生成后,先经过禁用字词扫描,通过后进行第二层审查,纳入法规、可用词与不可宣称词规范、Line内部法规,以及RAG连接的内部以往审核结果等数据,来让LLM参考、判断,广告文案合规才会正式采用。这正是Line从LLMOps延伸思考的可行合规应用之一。