Генерация кода документов с использованием LLMs

Создание документов с помощью генерации кода с LLM-технологией

Генерация кода по заметкам врачей может быть сложной задачей, так как это требует глубокого понимания медицинской терминологии и способности перевести эту информацию в конкретные коды, используемые в медицинской бухгалтерии и возмещении затрат. Модели с большим языковым потенциалом (Large Language Models – LLM), обладающие закодированными знаниями о мире, имеют большой потенциал для более эффективного и точного выполнения этой задачи.

Эволюция машинного обучения к LLM

Область машинного обучения значительно изменилась за последнее десятилетие. Ранее генерация кодов из заметок врачей с использованием машинного обучения была медленным, сложным и неточным процессом. Он включал сбор и предварительную обработку соответствующих данных, создание функций вручную, выбор правильной модели, настройку модели путем настройки гиперпараметров и создание инфраструктуры для развертывания модели. Эти задачи были трудоемкими и затратными, но результатом часто была модель с недостаточной производительностью.

Рисунок 1: Традиционный процесс машинного обучения

Однако с появлением глубокого обучения процесс стал проще и точнее. Глубокие нейронные сети могли закодировать знания через свои вложения. Однако проблемой была зависимость глубоких моделей от большого объема тренировочных данных.

Теперь эволюция больших языковых моделей, таких как GPT, сделала связанные с языком задачи, такие как в сфере здравоохранения, гораздо проще. Эти модели, с O(100B) параметрами, кодируют огромное количество знаний из различных областей и источников, таких как здравоохранение, программирование, книги, блоги, научные статьи и социальные сети. Изучение большого объема данных позволяет им извлекать богатые представления языка из данных и обобщать их на новые задачи. Для широкого спектра простых задач можно использовать эти модели с нулевым или небольшим количеством обучающих образцов, а для более сложных задач эти модели могут быть дообучены на небольшом количестве данных.

LLM и проектирование подсказок

Одной из целей в области машинного обучения было разработать алгоритмы, которые могли бы учиться подобно людям. Эти алгоритмы должны понимать простые наборы задач при получении инструкций и примеров. В рамках больших языковых моделей такие инструкции и примеры называются подсказками.

Обучение с нулевым числом образцов

Подсказки могут быть простыми запросами от пользователей, такими как:

  1. Суммировать текст
  2. Перефразировать текст
  3. Почему небо голубое?
  4. Напишите код для проверки, является ли строка палиндромом.

Эти модели могут отвечать на эти вопросы без необходимости дополнительных примеров, процесс, известный как обучение с нулевым числом образцов.

Обучение с небольшим числом образцов и цепочка мыслей в подсказках

Некоторые задачи требуют более подробных инструкций, аналогичных инструкциям, которые получает человек. Примером такой подсказки может быть:

Здесь задача заключается в определении шаблона по входно-выходным парам и прогнозировании, что вывод будет “нет”. Шаблон состоит в возвращении последней буквы каждого слова.

Ниже приведен вывод от ChatGPT, где он ошибся:

Предоставление более подробных инструкций модели привело к правильному ответу. Это объяснение, данное подсказкам, чтобы получить требуемые ответы, называется цепочкой мыслей в подсказках.

Этот процесс создания, проектирования и настройки подсказок называется проектированием подсказок. Целью проектирования подсказок является предоставление входных данных модели языка таким образом, чтобы она генерировала выходные данные, соответствующие заданному значению, которые являются связными и согласованными с предполагаемым значением. Это включает написание эффективных и ясных подсказок, которые могут направлять модель языка на генерацию высококачественных выходных данных, соответствующих потребностям конкретного использования, таких как генерация ответов на вопросы, написание историй, сочинение стихов или перевод текста. Процесс проектирования подсказок также включает тестирование и оценку производительности языковой модели с помощью различных подсказок, и вносит корректировки по мере необходимости для улучшения ее выходных данных.

В контексте генерации кодов по заметкам врачей проектирование подсказок будет включать работу с сокращениями и понимание различий и тонкостей болезней, симптомов и рецептов на лекарства.

Этапы разработки

Процесс использования больших языковых моделей (LLM) для создания медицинских кодов из заметок врачей включает следующие этапы:

  1. Получение данных: Получите данные и выполните ручную предварительную обработку для начального эксперимента.
  2. Определение метрик: Определите метрики для оценки производительности системы, такие как точность и полнота предсказанных ответов и задержка времени отклика.
  3. Выбор LLM: Изучите различные LLM и их API. Варианты выбора: GPT, BARD.
  4. Настройка рабочего пространства: Создание рабочего пространства для инжиниринга запросов.
  5. Инжиниринг запросов: Включение в инжиниринг запросов путем экспериментирования с последовательностью мыслей для поиска оптимального набора запросов.
  6. Определение эталона: Установите эталон для производительности и сравните его с текущими процессами и решениями на рынке.
  7. Генерация набора данных: Сгенерируйте набор данных с помощью вывода LLM.
  8. Дистилляция: Обучите модель ученика путем дистилляции модели учителя.
  9. Сравнение производительности: Сравнение производительности модели ученика и выявление ее сильных и слабых сторон.
  10. Подготовка инфраструктуры: Настройка инфраструктуры обслуживания для модели ученика, включая необходимые адаптеры и программные системы для интеграции с существующими системами.

Рисунок 2: Высокоуровневая система обучения и инфраструктуры