Press "Enter" to skip to content

使用LLMs进行文档转换为代码生成.

从医生的笔记生成代码可能是一个复杂的任务,因为它需要对医学术语有深入的了解,并能将这些信息转化为医疗计费和报销中使用的特定代码。具有编码世界知识的大型语言模型(LLMs)具有使这个任务更加高效和准确的巨大潜力。

机器学习演变为LLMs

在过去的十年里,机器学习领域经历了重大的转变。以前,使用机器学习从医生的笔记中生成代码是一个缓慢、困难和不精确的过程。它涉及到收集和预处理相关数据,手工制作特征,选择合适的模型,通过调整超参数调优模型,并创建部署模型所需的基础设施。这些任务繁琐且昂贵,但最终的结果往往是性能不理想的模型。

图1: 传统的机器学习过程

然而,随着深度学习的出现,这个过程变得更加简单和准确。深度网络能够通过它们的嵌入来编码知识。深度模型的问题在于它们依赖于大量的训练数据。

现在,如GPT等大型语言模型的发展使与语言相关的任务,例如在医疗保健领域,变得更加简单。这些模型具有O(100B)个参数,从医疗保健、软件编程、图书、博客、科学论文和社交媒体等各种领域和来源编码了大量的知识。从大量数据中学习使它们能够从数据中学习语言的丰富表示,并推广到新任务。对于各种简单任务,这些模型可以用零次或少数次学习使用,对于更复杂的任务,这些模型可以用少量数据进行微调。

LLMs和提示工程

机器学习领域的一个目标是开发出可以像人类一样学习的算法。这些算法应该在给定指令和示例时理解简单的一组任务。在大型语言模型领域,这些指令和示例被称为提示

零次学习

提示可以是用户的直接请求,例如:

  1. 总结文本
  2. 改写文本
  3. 为什么天空是蓝色的?
  4. 编写一个检查字符串是否为回文的代码。

这些模型可以回答这些问题,无需进一步的示例,这个过程被称为零次学习。

少量次学习和思路链提示

有些任务需要更详细的指示,类似于人类接收到的指示。这种类型的提示的一个示例是:

在这里,任务是从输入-输出对中找出一个模式,并预测输出是“no”。模式是返回每个单词的最后一个字母。

ChatGPT给出的错误答案如下:

给模型提供更详细的指示可以生成正确的答案。给出这些提示以得到所需答案的解释被称为思路链提示。

这个创建、设计和微调提示的过程被称为提示工程。提示工程的目标是以特定的方式向语言模型提供输入,使其生成与预期含义相关、连贯且一致的高质量输出。这涉及编写有效和清晰的提示,以引导语言模型生成符合特定用例需求的输出,例如生成问题的答案、写作故事、创作诗歌或翻译文本。提示工程的过程还包括使用不同的提示测试和评估语言模型的性能,并根据需要进行调整以改善其输出。

在从医生的笔记中生成代码的背景下,提示工程将涉及处理缩写词和理解疾病、症状和药物处方的差异和细微之处。

开发步骤

利用大型语言模型(LLMs)从医生的笔记中生成医学代码的过程包括以下步骤:

  1. 获取数据:获得数据并进行手动预处理以进行初步实验。
  2. 建立指标:确定用于评估系统性能的指标,如预测响应的精确度和召回率以及响应时间延迟。
  3. 选择LLM:探索不同的LLM和它们的API。可能的选择有:GPT,BARD。
  4. 设置工作空间:为提示工程设置工作空间。
  5. 提示工程:通过试验思维链提示来进行提示工程,以找到最佳的提示集。
  6. 建立基准:建立性能基准,并将其与当前流程和市场解决方案进行比较。
  7. 生成数据集:通过LLM推理生成数据集。
  8. 蒸馏:通过对教师模型进行蒸馏来训练学生模型。
  9. 性能基准:对学生模型的性能进行基准测试并确定优势和劣势。
  10. 服务基础架构:为学生模型设置服务基础架构,包括与现有系统整合所需的适配器和软件系统。

图2:高层训练和基础架构流程

Leave a Reply

Your email address will not be published. Required fields are marked *