Применение методов ИИ от открытия лекарств до LLM для уменьшения галлюцинаций
5 декабря 2024 г.
Революционные проекты GitHub: автоматизированное открытие лекарств с помощью ИИ
Интеграция искусственного интеллекта (ИИ) в открытие лекарств производит революцию в фармацевтической промышленности. Проекты с открытым исходным кодом на GitHub играют в этом решающую роль. Ниже мы представляем некоторые из самых инновационных проектов, продвигающих автоматизированное открытие лекарств с помощью ИИ.
DeepChem: открытая платформа для глубокого обучения в химии
DeepChem — ведущая библиотека с открытым исходным кодом, которая делает глубокое обучение доступным для химических приложений. Он предоставляет инструменты для:
- Молекулярного моделирования
- Прогнозирования структуры белка
- Материаловедения
Благодаря своему удобному интерфейсу DeepChem позволяет исследователям реализовывать сложные модели ИИ без глубоких знаний программирования. Это ускоряет открытие новых лекарств и способствует инновациям в отрасли.
MoleculeNet: бенчмаркинг для ИИ в химии
MoleculeNet — это комплексная система бенчмаркинга, специально разработанная для машинного обучения в химических исследованиях. Он предлагает:
- Стандартизированные наборы данных
- Метрики оценки
- Сравнение производительности модели
Предоставляя согласованные контрольные показатели, MoleculeNet облегчает сравнение различных моделей ИИ, тем самым способствуя прогрессу в открытии лекарств.
ATOM Modeling PipeLine (AMPL): ускоренное открытие лекарств
ATOM Modeling PipeLine — это проект консорциума ATOM, целью которого является ускорение разработки лекарств с помощью машинного обучения. AMPL предлагает:
- Модульный конвейер для подготовки данных
- Автоматизированное обучение моделей
- Расширяемые фреймворки для различных вариантов использования
С помощью AMPL исследователи могут эффективно создавать сложные модели, тем самым сокращая время от открытия до вывода на рынок новых лекарств.
Chemprop: прогнозирование молекулярных свойств с помощью глубокого обучения
Chemprop использует графовые нейронные сети для прогнозирования молекулярных свойств. Его особенности включают:
- Высокая точность прогнозирования
- Адаптивные архитектуры моделей
- Поддержка разнообразных наборов химических данных
Chemprop добился выдающихся результатов в нескольких соревнованиях и является ценным инструментом для химии с использованием ИИ.
DeepPurpose: универсальный набор инструментов для открытия лекарств
DeepPurpose — это комплексный набор инструментов глубокого обучения для открытия лекарств. Он предлагает:
- Интеграцию различных моделей и наборов данных
- Простую реализацию предиктивных моделей
- Применение во взаимодействиях белок-лиганд
Благодаря своей универсальности DeepPurpose позволяет исследователям быстро и эффективно выявлять новые терапевтические кандидаты.
OpenChem: специализированная среда глубокого обучения для химических приложений
OpenChem — это среда глубокого обучения, адаптированная для химии. Он имеет:
- Поддержка генерации молекул
- Прогнозирование свойств
- Гибкость в разработке моделей
OpenChem способствует разработке новых методов в химическом ИИ и ускоряет исследования.
Сообщество разработчиков ПО с открытым исходным кодом на GitHub расширяет границы автоматизированного открытия лекарств с помощью этих проектов. Объединение ИИ и химии открывает новые возможности для более эффективной и точной разработки терапевтических решений. Эти инновации могут изменить будущее медицины на устойчивой основе.
Применение исследовательских моделей ИИ от открытия лекарств до дистилляции моделей ИИ
Используемые модели и методы ИИ предлагают инновационные подходы, которые можно перенести на этапы разработки моделей ИИ. Хотя на первый взгляд эти две области кажутся разными, у них есть общие методы и проблемы, которые обеспечивают осмысленное применение.
Смысл применения
Применение исследовательских моделей от открытия лекарств до дистилляции моделей ИИ имеет смысл, потому что:
- Общие методы: обе области используют передовые методы машинного обучения, такие как глубокое обучение, нейронные сети и графовые модели.
- Снижение сложности: при открытии лекарств сложные молекулярные структуры представляются в упрощенной форме, аналогично сокращению больших моделей ИИ до более компактных форм.
- Оптимизация и эффективность: как открытие лекарств, так и дистилляция моделей направлены на достижение эффективных и мощных результатов при ограниченных ресурсах.
Как это можно применять
1. Графовые нейронные сети (GNN) для структурного понимания
В исследовании лекарственных препаратов графовые нейронные сети используются для анализа молекулярных структур. Эти методы можно использовать при дистилляции моделей для понимания структуры больших моделей и извлечения основных характеристик для меньшей модели.
2. Передача обучения и извлечение признаков
Модели из таких проектов, как DeepChem или Chemprop, используют передачу обучения для обучения на существующих наборах данных. Аналогично, при дистилляции большая предварительно обученная модель может служить отправной точкой, из которой основные характеристики переносятся в меньшую модель.
3. Многозадачное обучение для универсальных моделей
Такие проекты, как MoleculeNet, используют многозадачное обучение для обучения моделей, которые могут одновременно выполнять несколько задач. Этот метод можно использовать при дистилляции для создания компактных моделей, которые по-прежнему выполняют универсальные функции.
4. Методы оптимизации из области открытия лекарств
Подходы к оптимизации из области открытия лекарств, такие как тонкая настройка гиперпараметров или использование эволюционных алгоритмов, можно применять для повышения эффективности дистиллированных моделей.
5. Дополнение и генерация данных
Генерация синтетических данных играет ключевую роль в таких проектах, как DeepPurpose. Аналогичные методы можно использовать для улучшения процесса обучения модели ученика в дистилляции, особенно при ограниченном количестве доступных данных.
Практические шаги внедрения
- Анализ структуры модели: использование GNN для определения важных компонентов модели учителя.
- Выбор признаков: извлечение критических признаков, которые имеют решающее значение для производительности модели.
- Эффективные архитектурные проекты: адаптация архитектур моделей из открытия лекарств для более компактных структур моделей.
- Совместное обучение: реализация многозадачного обучения для обучения модели ученика на нескольких задачах и, таким образом, улучшение увеличения возможностей обобщения.
Интеграция методов из автоматизированного открытия лекарств в дистилляцию моделей ИИ открывает новые способы повышения эффективности и снижения сложности. Передавая проверенные методы, можно разрабатывать мощные, компактные модели, которые соответствуют требованиям современных приложений ИИ. Этот междисциплинарный подход способствует инновациям и ускоряет прогресс в обеих областях исследований.
Расширение: применение методов ИИ из области открытия лекарств в LLM для уменьшения галлюцинаций
Достижения в области искусственного интеллекта произвели революцию как в области открытия лекарств, так и в разработке больших языковых моделей (LLM). Интересный вопрос заключается в том, могут ли методы из автоматизированного открытия лекарств помочь повысить точность прогнозов LLM и уменьшить галлюцинации. Ниже мы рассмотрим эту возможность и проанализируем, полезно ли такое применение и используются ли эти методы уже в LLM.
Связь между ИИ и технологиямиМетоды в химии и LLM
1. Графовые нейронные сети (GNN) и структурный анализ
В разработке лекарств Графовые нейронные сети используются для понимания и прогнозирования сложных структур молекул. GNN моделируют данные как графы, что естественно в химии, поскольку молекулы состоят из атомов (узлов) и связей (ребер).
Применение в LLM:
- Синтаксические деревья как графы: Подобно молекулам, предложения можно представить в виде графов, где слова являются узлами, а грамматические отношения — ребрами.
- Улучшенное моделирование контекста: GNN можно использовать для лучшего моделирования отношений между словами в предложении, что может улучшить контекстуализацию в LLM.
2. Неопределенность и оценка неопределенности
В разработке лекарств оценка неопределенности имеет решающее значение для оценки надежности прогнозов.
Применение к LLM:
- Снижение галлюцинаций: Включая оценки неопределенности, LLM могут лучше оценивать свои собственные прогнозы и с меньшей вероятностью предоставлять ложную или галлюцинаторную информацию.
- Метрики уверенности: Внедрение метрик, которые показывают, насколько уверена модель в своем ответе.
3. Многозадачное обучение и трансферное обучение
Такие проекты, как MoleculeNet, используют многозадачное обучение для обучения моделей, которые одновременно предсказывают несколько свойств.
Применение для LLM:
- Одновременная оптимизация нескольких целей: LLM можно обучать для оптимизации как предсказания следующего слова, так и точности содержания.
- Передача знаний предметной области: Благодаря трансферному обучению модели могут использовать конкретные знания из химии для более точных прогнозов в этой области.
4. Дополнение данных и генерация синтетических данных
В химии синтетические данные используются для улучшения моделей, особенно когда реальные данные ограничены.
Применение к LLM:
- Расширение наборов обучающих данных: Создание дополнительных высококачественных текстовых данных для улучшения процесса обучения.
- Улучшение способности к обобщению: При наличии более разнообразных данных модель может лучше обобщать и меньше галлюцинировать.
Имеет ли применение смысл?
Перенос методов из области разработки лекарств с помощью ИИ в LLM имеет теоретический смысл, поскольку обе области используют сложные структуры данных и машинное обучение. Вот некоторые причины:
- Общие математические основы: Обе области используют нейронные сети и методы оптимизации.
- Необходимость точности и надежности: И в медицине, и в обработке информации точные прогнозы имеют решающее значение.
Проблемы
- Разные типы данных: Химические данные структурно отличаются от естественного языка.
- Масштабируемость: Модели LLM часто значительно больше и сложнее моделей в химии, что затрудняет их прямое применение.
Используются ли эти методы уже в LLM?
Многие из упомянутых методов уже используются в той или иной форме в LLM Интегрировано:
- Оценка неопределенности: Некоторые модели используют байесовский подход или метод исключения Монте-Карло для моделирования неопределенности.
- Графовые модели: Хотя GNN не используются напрямую в LLM, существуют модели, которые рассматривают синтаксические деревья или графы зависимостей.
- Многозадачное и трансферное обучение: LLM, такие как GPT-4, используют трансферное обучение и могут быть настроены для нескольких задач.
Потенциальные инновационные подходы
Несмотря на существующие методы, есть потенциал для новых подходов:
- Гибридные модели: Объединение LLM с GNN для лучшего моделирования контекста.
- Оптимизация, вдохновленная химией: Использование методов оптимизации из химии для улучшенияing of LLM training procedures.
- Междисциплинарные наборы данных: Включение данных из химии для повышения точности LLM в специализированных областях.
Применение методов автоматизированного открытия лекарств в LLM открывает захватывающие возможности для повышения точности прогнозов и уменьшения галлюцинаций. Хотя некоторые методы уже используются в LLM, есть место для дальнейших инноваций посредством междисциплинарного подхода. Проблемы в первую очередь заключаются в различных типах данных и масштабируемости. Тем не менее, сотрудничество между этими двумя областями может привести к значительным достижениям в исследованиях ИИ.
Короткий мысленный эксперимент: имеет ли это смысл?
Химия и естественный язык на первый взгляд кажутся разными, но обе представляют собой системы со сложными правилами и структурами. Поэтому методы моделирования и прогнозирования в химии могут предоставить ценные данные для обработки естественного языка. Важно быть открытым для междисциплинарных подходов, поскольку инновации часто возникают на стыке разных дисциплин.
Интеграция методов ИИ из области открытия лекарств в разработку LLM может стать многообещающим способом дальнейшего повышения производительности этих моделей. Обучаясь друг у друга, обе области могут извлечь выгоду друг из друга и совместно открыть новые горизонты в исследованиях ИИ.
Реализация для уменьшения галлюцинаций в LLM с использованием Hugging Face
Ниже мы демонстрируем, как создать языковую модель с оценкой неопределенности с использованием Hugging Face и Python для уменьшения галлюцинаций. Мы используем методы, вдохновленные методами, используемыми в автоматизированном поиске лекарств, в частности, оценку неопределенности с использованием метода Монте-Карло.
Требования
- Python 3.6 или выше
- Установленные библиотеки:
transformerstorchdatasets
Вы можете установить необходимые библиотеки с помощью следующей команды:
pip install transformers torch datasets
Реализация кода
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch.nn.functional as F
import numpy как np
# Загрузить токенизатор и модель
model_name = 'gpt2'
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# Включить выпадение даже в режиме оценки
def enable_dropout(model):
""Включает выпадение слоев в модели во время оценки."""
for module in model.modules():
if isinstance(module, torch.nn.Dropout):
module.train()
# Функция для генерации с оценкой неопределенности
def generate_with_uncertainty(model, tokenizer, prompt, num_samples=5, max_length=50):
model.eval()
enable_dropout(model)
inputs = tokenizer(prompt, return_tensors='pt')
input_ids = inputs['input_ids']
# Несколько прогнозов для оценки неопределенности
outputs = []
for _ in range(num_samples):
with torch.no_grad():
output = model.generate(
input_ids=input_ids,
max_length=max_length,
do_sample=True,
top_k=50,
top_p=0.95
)
outputs.append(output)
# Декодирование сгенерированных последовательностей
sequences = [tokenizer.decode(output[0], skip_special_tokens=True) for output in outputs]
# Расчет неопределенности (энтропии)
probs = []
for output in outputs:
with torch.no_grad():
logits = model(output)['logits']
prob = F.softmax(logits, dim=-1)
prob.append(prob.cpu().numpy())
# Расчет средней энтропии
entropies = []
for prob in probs:
entropy = -np.sum(prob * np.log(prob + 1e-8)) / prob.size
entropies.append(entropy)
avg_entropy = np.mean(entropies)
unfirmation = avg_entropy
# Выбор наиболее часто встречающейся последовательности
из коллекций import Counter
sequence_counts = Counter(sequences)
most_common_sequence = sequence_counts.most_common(1)[0][0]
return {
'generated_text': most_common_sequence,
'uncertainty': unrefirmation
}
# Пример использования
prompt = "Влияние искусственного интеллекта на медицину"
result = generate_with_uncertainty(model, tokenizer, prompt)
print("Сгенерированный текст:")
print(result['generated_text'])
print("nОцениваемая неопределенность:", result['uncertainty'])
Пояснение кода
-
Загрузка модели и токенизатора: Мы используем предварительно обученную модель GPT-2 из Hugging Face.
tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name) -
Включить выпадение: Мы используем функцию
enable_dropoutдля включения слоев выпадения. во время оценки для включения исключения Монте-Карло.def enable_dropout(model): for module in model.modules(): if isinstance(module, torch.nn.Dropout): module.train() -
Генерация с оценкой неопределенности: Функция
generate_with_uncertaintyвыполняет несколько прогнозов и вычисляет неопределенность на основе энтропии выходных распределений.def generate_with_uncertainty(model, tokenizer, prompt, num_samples=5, max_length=50): # Функция реализована, как показано выше -
Вычисление неопределенности: Энтропия Для оценки неопределенности рассчитывается распределение вероятностей. Более высокая энтропия указывает на более высокую неопределенность.
-
Выбор лучшей последовательности: Мы выбираем наиболее часто генерируемую последовательность в качестве конечного результата, поскольку она, скорее всего, будет правильной.
Advertising
Использование репозиториев GitHub
Для расширенной функциональности и расширенных методов могут быть полезны следующие репозитории GitHub:
-
Байесовские сети преобразователей: Байесовские преобразователи
- Реализация преобразователей с байесовскими методами для оценки неопределенности.
-
Язык, дополненный знаниями Модели: K-Adapter
- Подход к интеграции фактических знаний в языковые модели для уменьшения галлюцинаций.
Возможности расширения
-
Тонкая настройка с данными, специфичными для предметной области: Путем тонкой настройки модели с определенными наборами данных можно повысить точность.
from datasets import load_dataset # Загрузка набора данных, специфичного для предметной области dataset = load_dataset('your_dataset') # Вставьте код тонкой настройки здесь -
Интеграция графов знаний: Интеграция внешних баз данных знаний, таких как Wikidata, для проверки и дополнения сгенерированного контента.
-
Использование более крупных моделей: использование более продвинутых моделей, таких как GPT-3 или GPT-4, через соответствующие API для получения лучших результатов.
Вывод
Применяя оценку неопределенности и методы автоматизированного обнаружения лекарств, мы можем повысить надежность языковых моделей и уменьшить нежелательные галлюцинации. Предоставленная реализация служит отправной точкой и может быть доработана для удовлетворения конкретных требований.
Примечание: Показанная выше реализация является упрощенным примером. В производственной среде следует учитывать и другие аспекты, такие как эффективность, масштабируемость и этические соображения.
Автор: Томас Пошадель
АВТОРСКИЕ ПРАВА принадлежат NEKi Media UG (ограниченная ответственность)
![]()