25 февраля — финал The MedGemma Impact Challenge на Kaggle. Я уже несколько недель копаюсь в этой медицинской модели от Google, пытаясь выжать из неё что-то крутое для конкурса. Пока идеальное решение где-то между "гениально" и "зачем я это делаю в 3 ночи", решил поделиться тем, как вообще эта штука работает и что с ней можно делать.
Спойлер: она умеет не только отвечать "идите к врачу" на любой симптом 🏥
Есть такая штука — MedGemma. Google взяли свою Gemma, скормили ей всю медицинскую литературу (наверное, включая инструкции к валидолу), и получилась модель, которая:
Читайте также
- Силы ПВО сбили беспилотник над Москвой: мэр Собянин подтвердил инцидент
- Севастополь отразил атаку дронов: сбито девять беспилотников
- Движение по Крымскому мосту полностью возобновлено после атаки БПЛА
- Аэропорт Оренбурга временно прекратил прием и отправку самолетов
- Илон Маск перестал быть триллионером после сокращения состояния
Работает на обычной RTX 4060 (привет, майнерам прошлых лет)
И вот на Kaggle запустили челлендж с призовым фондом, а я подумал: "Сколько ещё можно писать скрипты для парсинга? Пора спасать человечество с помощью AI!"
Три недели спустя я уже знаю о тензорах в bfloat16 больше, чем о своём давлении. Но кое-что интересное удалось выяснить.
MedGemma — это не просто "ChatGPT для медицины". Это специально обученная модель, которая:
Реально знает медицину — её учили не на Stack Overflow, а на PubMed и медицинских учебниках
Мультимодальная — понимает и текст, и картинки (представьте, может анализировать рентген!)
Локальная — работает у вас на компе, никуда не сливая ваши медицинские данные
Весит разумно — 4B параметров, а не 175B как некоторые
Важный дисклеймер: это не медицинский прибор, не лицензированный софт для диагностики, и вообще всегда консультируйтесь с врачом. Но для исследований и прототипов — самое то.
Первым делом убеждаемся, что видеокарта не ушла на майнинг:
8.6 гигов — в самый раз. На 4 гига уже будет грустно, на 16+ — вообще красота.
Если у вас загрузка падает с CUDA out of memory — поздравляю, вы в клубе "пора обновляться". Можно попробовать квантизацию до int8, но это отдельная история.
Чтобы каждый раз не писать километры кода, делаем helper:
Ок, модель не галлюцинирует, что гипертензия — это новый вид йоги. Годится.
Вот это поворот! Модель не просто перевела, а дала структурированный ответ с маркированным списком. Кто-то в Google явно любит аккуратность.
✅ Показания: диабет 2 типа, преддиабет, СПКЯ, ожирение
✅ Механизм: улучшение чувствительности к инсулину, снижение выработки глюкозы печенью
✅ Побочки: ЖКТ-расстройства, дефицит B12, лактоацидоз (редко)
Это уровень ответа из хорошего медицинского справочника. Для модели на 4B параметров — впечатляет.
Проверяем, понимает ли модель взаимодействие лекарств:
Модель не просто сказала "нельзя", а объяснила почему и когда всё-таки можно. Это важно.
Тут я проверяю, может ли модель интерпретировать результаты. Даём ей цифры из анализа крови:
✅ Локальность — данные не уходят в облако ✅ Скорость — ответы генерируются за секунды ✅ Русский язык — работает без костылей ✅ Структурированность — ответы как из учебника ✅ Честность — признаёт ограничения и шлёт к врачу
❌ Не может в контекст — не знает историю болезни ❌ Галлюцинации — редко, но бывают ❌ Нет персонализации — одинаково для всех ❌ Юридически непригодна — не медицинский прибор ❌ Требует GPU — на CPU будет медленно
Бот, который задаёт правильные вопросы и определяет срочность обращения. Не ставит диагноз, а помогает понять: "это вызов скорой" или "можно записаться к терапевту на неделе".
Загружаешь список своих препаратов, получаешь предупреждения о возможных конфликтах. Особенно актуально для пожилых людей с кучей таблеток.
Врач написал в выписке непонятные термины? Модель переводит на человеческий язык без потери смысла.
Получил результаты — вставил в приложение, получил объяснение что к чему. С рекомендацией "показать врачу", естественно.
bfloat16 (brain float) — формат от Google с такой же точностью по экспоненте, как у float32, но с меньшей мантиссой. Для языковых моделей это идеально:
Если 8 GB VRAM не хватает, можно загрузить модель в int8:
Качество почти не страдает, зато модель влезет в 4-6 GB.
torch.inference_mode() быстрее, чем torch.no_grad():
Похожие новости
- Британский фунт достиг 10-месячного максимума на фоне устойчивости экономики
- Почему премьер-министр Финляндии проиграл: ключевой вопрос избирателей
- Французский министр под огнем критики за обложку Playboy
- НАСА назвало экипаж первой за 50 лет миссии на Луну
- Солдат-доброволец: «Страшно, холодно, голодно и одиноко»
🤔 Кто отвечает за ошибки? Если модель неправильно проанализирует симптомы и человек поверит?
🤔 Доступность vs безопасность? Медицинская информация должна быть доступной, но не опасной.
🤔 Замена врачей? Нет, это инструмент для врачей, не замена им.
🤔 Приватность данных? Даже локальная модель должна работать с шифрованием.
Пока у меня больше вопросов, чем ответов. Но думаю об этом.
MedGemma — это не просто "ещё одна LLM". Это первая медицинская модель, которую можно запустить локально на потребительском железе и получить реально полезные результаты.
До финала челленджа осталось несколько недель. Посмотрим, что выйдет. В любом случае, опыт работы с медицинским AI — это круто.
P.S. Если у вас есть идеи для Kaggle Challenge или вы тоже участвуете — пишите в комментах! Может, что-то замутим вместе.
P.P.S. Всегда консультируйтесь с врачом. Эта статья — для образования и экспериментов, а не медицинских советов.
P.P.P.S. Да, я действительно провёл три недели, разговаривая с AI про диабет и гипертензию. Моя поисковая история теперь выглядит как будто я самый больной человек на планете 😅
Хабр, спасибо что дочитали до конца! Ставьте плюсики, если хотите продолжение после финала челленджа.