Почему мы настраиваем языковую модель? Точная настройка имеет важное значение, когда нам нужно научить LLM новому навыку или улучшить его понимание в определенной области .
В этом проекте мы стремимся точно настроить как небольшие, так и крупные модели инструкта/чата, включая Smollm для моделей мелких языков (SLM) и Mistral для крупных языковых моделей (LLM).
Используемый набор данных первичного примера - medalpaca/medical_meadow_medical_flashcards , полученный из карточек медицинской программы ANKI. Эти карточки, созданные и регулярно обновляемые студентами -медиками, охватывают широкий спектр медицинских тем, такие как анатомия, физиология, патология и фармакология, и предназначены для поддержки эффективного обучения и удержания посредством кратких резюме и мнемониники.
Хотя этот проект использует набор данных Medical_meadow_medical_flashcards, он адаптируется к другим наборам данных для вопросов/ответов и инструкций/ответов. Интеграция различных наборов данных может быть легко выполнена путем изменения файлов конфигурации.
Проект также поддерживает квантование, что делает его возможным для тонких крупных моделей, таких как Mistral и Llama, на более скромных настройках оборудования.
Модель с тонкой настройкой Smollm доступна на Huggingface?
В то время как ответы базовой модели являются общими и следуют формату отметки, тонкая настраиваемая модель, по-видимому, эффективно включила специализированные навыки, на которые она была обучена, особенно при воспроизведении ожидаемого стиля ответа. Однако, как кто -то без медицинского происхождения, я не могу оценить точность или качество ответов, предоставляемых любой моделью. Ниже приведена таблица, сравнивающая ответы оригинальной модели, базовой модели и тонкой модели для набора медицинских вопросов.
| Вопрос | Оригинальный ответ | Базовый ответ модели | Тонко настроенный модельный ответ |
|---|---|---|---|
| Какое противомалярийное лекарство обладает активностью против гипнозоитов плазмодия? | Примахин - это противомалярийное лекарство, которое обладает активностью в отношении гипнозоитов плазмодия. | Противомалярийные препараты представляют собой класс лекарств, которые эффективны против паразитов плазмодия, которые ответственны за вызывает малярию. Наиболее распространенные противомалярийные препараты, используемые для лечения малярии, включают в себя: 1. ампициллин (амфотерицин B) : антибиотик широкого спектра, который эффективен против видов плазмодия. 2. Фосамивир (Фосамивир) : антивирус широкого спектра, который эффективен против видов плазмодия. 3. влияние (влияние) : антивирус широкого спектра, который эффективен против видов Plasmodium. 4. ** Ампициллин | Эритромицин - это противомалярийное лекарство, которое обладает активностью против гипнозоитов плазмодия. |
| Какой термин используется для описания количества веществ, отфильтрованных в пространстве Боумена за единицу времени? | Количество веществ, отфильтрованных в пространстве Боумена за единицу, называется фильтрованной нагрузкой. | Термин «пространство Боумена» - это разговорник, используемый для описания количества веществ, отфильтрованных в пространстве Боумена, который является гипотетическим пространством, где на орбиту запускается космический корабль. Концепция основана на идее о том, что космический корабль может быть запущен на орбиту, а затем вернуться на Землю, при этом космический корабль фильтрует любые оставшиеся частицы или мусор, которые могли присутствовать в пространстве. Термин «пространство Боумена» часто используется для описания количества веществ, отфильтрованных в пространстве Боумена, которое является гипотетическим пространством, где космический корабль запускается на орбиту, а затем возвращается на Землю. А | Термин, используемый для описания количества веществ, отфильтрованных в пространстве Боумена на единицу времени, называется эффективностью фильтрации. |
| Какой термин используется для описания объема крови, содержащегося в венах? | Объем крови, содержащийся в венах, называется безударным объемом. | Термин «объем крови» относится к количеству крови, которая циркулирует через систему кровообращения организма. Это сложный процесс, который включает в себя обмен кислородом, питательными веществами и отходом между кровью и тканями. Объем крови обычно измеряется в литрах (L) или миллилиттерах (мл) и обычно распределяется по всему телу через систему кровообращения. Существует несколько ключевых компонентов, которые способствуют объему крови: 1. Эритроциты : это клетки, которые переносят кислород из легких в ткани. Они имеют диаметр около 1,5 мм и состоят из гемоглобина | Термин, используемый для описания объема крови, содержащегося в венах, называется венозной кровью. |
| Каков наиболее важным фактором для определения прогноза переходного клеточного рака? | Наиболее важным фактором для определения прогноза переходного клеточного рака является степень инвазии. | Определение прогноза переходной клеточной карциномы (TCC) имеет решающее значение, поскольку это может значительно повлиять на качество жизни пациента, варианты лечения и общую выживаемость. Наиболее важным фактором для определения прогноза TCC является наличие четкого диагноза, четко определенной опухоли и благоприятного прогноза. Вот некоторые ключевые факторы, которые могут влиять на прогноз TCC: 1. Четкий диагноз : TCC диагностирована с четкой опухолью, что означает, что он имеет доброкачественный или доброкачественный рост. TCC также диагностирован с благоприятным прогнозом, так как он вряд ли будет распространяться на | Наиболее важным фактором для определения прогноза переходной клеточной карциномы является наличие высокой степени. |
Точность ответов: тонкая модель повторяет ожидаемый формат и стиль, но демонстрирует некоторые неточности. Например, эритромицин неправильно идентифицируется как противомалярийное лекарство, эффективное против гипнозоитов плазмодия. Правильный ответ должен быть primaquine.
Базовые модели: ответы базовой модели чрезмерно обобщены и иногда не по теме, особенно в медицинских контекстах, как видно из неправильных объяснений пространства Боумена и объема крови.
Примечание. Этот результат был получен только после 10 эпох тренировок. Обучение для большего количества эпох может привести к лучшим результатам ¯ (ツ) /¯.
Чтобы запустить этот проект плавно, требуется Python 3.10. Проект был протестирован и проверен на Python 3.10.13. Следуйте приведенным ниже шагам, чтобы настроить окружающую среду:
Создайте виртуальную среду:
python -m venv env
Активировать виртуальную среду:
source env/bin/activate
Установите требуемые зависимости:
pip install -r requirements.txt
Установите переменные среды: скопируйте файл .env.example и переименуйте его на .env:
mv .env.example .env
Вы можете изучить учебные шаги, используя тетради Jupyter:
cd notebooks
jupyter-lab
В качестве альтернативы, вы можете начать процесс тонкой настройки напрямую. Параметры, используемые для точной настройки, указаны в файлах конфигурации внутри папки configs . Чтобы начать процесс тонкой настройки с модели Smallm по умолчанию, запустите:
python train.py
Если вы хотите обучить другую модель, вы можете указать конфигурацию модели, передавая имя файла конфигурации в качестве аргумента:
python train.py --model Mistral
Замените Mistral именем файла конфигурации желаемой модели. Чтобы обучить новую модель, просто создайте новый файл конфигурации с желаемыми настройками и запустите Train.py с соответствующим именем модели.