Как стать автором
Поиск
Написать публикацию
Обновить
35
0
Максим Титков @bredd_owen

Врач, к.м.н.

Отправить сообщение

Я пробовал делать агента, который на вопрос пользователя генерирует врачей разных специальностей, каждый врач "читает" вопрос и медицинскую информацию, делает выводы, затем врачи обсуждают друг с другом вопрос в рамках консилиума и делают структурированный ответ. Ну, получается чуть получше - да. Токенов уходит в 3 - 4 раза больше, также, как и времени на генерацию. Ответы все равно такие, что проще зайти в Google и самому найти.

Кстати, в вашей статье справедливо указано на то, что ИИ генерации получаются очень общими. Я думаю, это связано с цензурированием моделей. Если попробуете сравнить генерации официальных нейронок с аблитерированными, вторые сильно выигрывают в медицинской тематике. Собственно, из-за этого и заморачиваюсь с файнтюнингом

Интересное решение. Модель пока очень сырая, поэтому я не рекомендую использовать её для такой цели. Проблема тут в референсных значениях, которые могут отличаться у некоторых показателей в зависимости от единиц измерения. Большие коммерческие модели могут "понять" эти показатели правильно, а у малых моделей имеется высокий риск галлюцинаций. Думаю, что по анализам пока лучше использовать сторонние api

Хотя, вероятность пишет, но это все пока просто "вода".

Расчет вероятности

1. Аппендицит:

  • Факторы в пользу: Боль внизу живота, усиливающаяся при пальпации, напряжении мышц и припухлости в правой подвздошной области - типичные симптомы аппендицита.

  • Факторы против: Утолщение стенок кишечника с жидкостью может указывать на более хроническую проблему, чем острый воспалительный процесс, характерный для аппендицита.

Оценка вероятности: 70%

2. Спаечная непроходимость:

  • Факторы в пользу: Утолщение стенок кишечника с жидкостью может быть связано с сужением или спазмом в просвете кишечника, что характерно для спаечной непроходимости.

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

Оценка вероятности: 20%

3. Дивертикулит:

  • Факторы в пользу: Боль в правом нижнем квадранте, напряженность мышц и припухлость могут быть связаны с воспалением дивертикула.

  • Факторы против: Выпот жидкости указывает на более хроническую проблему, чем острый дивертикулит.

Оценка вероятности: 10%

4. Язвенная болезнь желудка:

  • Факторы в пользу: Наличие СОЭ и сдвига лейкоцитарной формулы может указывать на язву желудка, которая может вызывать боль в животе и осложнения, такие как перфорация или абсцесс.

  • Факторы против: Отсутствие других типичных симптомов язвы желудка (например, изжога, кровотечение).

Оценка вероятности: 5%

Размер датасета 47.451 rows на русском языке. Метод обучения Continued Pretraining не предполагает разделения на признаки и таргеты. Данные для обучения представляют собой простые абзацы.

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

Пример записи:
{'input': 'У пациента наблюдаются лихорадка, кашель с мокротой и потеря веса. В анамнезе трижды прерванное лечение туберкулеза в прошлом. Подозревается туберкулез с множественной лекарственной устойчивостью. Как диагностируется туберкулез с множественной лекарственной устойчивостью? \nA. Устойчив к ИПР + Рифампицину + Амикацину\nB. Устойчив к ИПР + Амикацину + Офлоксацину + Этамбутолу\nC. Устойчив к ИПР + Рифампицину + Амикацину + Офлоксацину\nD. Устойчив к Рифампицину + Амикацину + Офлоксацину', 'output': '## Thinking\nРассмотрим определение XDR-TB. XDR-TB - это форма туберкулеза, устойчивая не только к стандартным препаратам, но и к более широкому спектру антибиотиков. \n\nПервостепенное значение имеют устойчивость к изониазиду (INH) и рифампицину, которые являются краеугольными препаратами в лечении туберкулеза. Однако это не всё. XDR-TB также характеризуется устойчивостью к хотя бы одному фторхинолону, например, офлоксацину. Фторхинолоны играют ключевую роль в лечении туберкулеза, устойчивого к основным препаратам. \n\nВажно отметить, что XDR-TB включает устойчивость к одному из инъекционных препаратов второй линии. К ним относятся амикацин, канамицин или капреомицин, которые являются резервным арсеналом при неэффективности первой линии лечения.\n\nТеперь проанализируем варианты:\n\n* Вариант A: содержит INH, рифампицин и амикацин, но отсутствует фторхинолон - это исключает его как XDR-TB.\n* Вариант B: включает INH, амикацин, офлоксацин и этамбутол. Фторхинолон присутствует, но нет рифампицина - это также не соответствует определению XDR-TB.\n* Вариант C: содержит INH, рифампицин, амикацин и офлоксацин. Этот вариант полностью соответствует всем критериям XDR-TB: оба основных препарата первой линии, фторхинолон и инъекционный препарат второй линии.\n\n* Вариант D: включает рифампицин, амикацин и офлоксацин, но отсутствует INH - это исключает его как XDR-TB, так как устойчивость к INH является обязательным условием.\n\n\nТаким образом, единственный вариант, отвечающий всем требованиям для определения XDR-TB, - это вариант C\n## Final Response\nОпределение мультиустойчивого туберкулеза (XDR-TB) — это туберкулез, который демонстрирует устойчивость как минимум к изониазиду (INH) и рифампицину (два противотуберкулезных препарата первой линии), как минимум к одному фторхинолону (например, офлоксацину) и как минимум к одному из инъекционных препаратов второй линии (например, амикацину, канамицину или капреомицину). \n\nИсходя из этого определения, правильным выбором является: C. Устойчив к INH + рифампицину + амикацину + офлоксацину. Этот вариант включает устойчивость к обоим основным препаратам (INH и рифампицину), фторхинолону (офлоксацину) и инъекционному препарату второй линии (амикацину), что соответствует критериям XDR-TB. \n\n\n\n'}

Датастет содержит в основном ситуационные задачи с размышлениями и ответами. Поле ## Thinking отвечает за размышления, поле ## Final Response за ответ.

Вероятность определяет некорректно: либо модель небольшая, либо нужно дополнять датасет.

Посмотрите здесь: https://huggingface.co/FreedomIntelligence
Подход брал у них, но пробую экспериментировать с разметкой

Разумеется, модель не подходит для принятия медицинских решений. Тем более, что она двух-миллиардная. Но статьи на Pubmed разбирает на русском неплохо.
Пока очень плохо знает фармакологию, потому что датасет был в основном по ситуационным задачам.

В случае такой простой задачи, как корректировка пола - дело вкуса. Но иногда без регулярных выражений не обойтись. Например, у нас столбец с разнородными названиями препаратов. Там встречаются как коммерческие названия, так и МНН, плюс в некоторые названия случайно вписаны дозировки: ['Анафранил', 'risperidone', 'галоперидол, 5 мг, таблетки', 'Сероквель(quetiapine).,25mg', 'Габапентин, капсулы']. Нам надо разделить эти данные на признаки: русское название, МНН, дозировка (если чего-то нет, то оставить ячейку пустой). Без регулярок у нас может получиться слишком большая функция.
Тут для поиска всех русских названий, кроме тех, которые содержат таб и капс, используем выражение: \b(?!таб*|капс*)[А-Яа-я]*\b
Для латинских: \b[A-Za-z]*\b
Для дозировок: \d*\s*(mg|мг)

Про отзывы я честно не знаю. Принимаю пациентов и дежурю только в одном месте. В двух других работаю врачом-консультантом. Найти хороших врачей сложно. Я сам боюсь обращаться за помощью даже по знакомству(

Спасибо за комплимент). Я пользователь: опыта работы нет, библиотек не писал, заказы не делал и не делаю (разве что по статистике, но это другое). Сайт-визитку на Булме могу, конечно состряпать, но времени на это нет.

Он вас будет спрашивать:
- Каких котят? Конкретной породы или всех подряд?
- Своих продаете или маркетплейс? А, может просто соскрапим объявления Авито?
- Где будем хостить?

- Кому будете продавать и за какую цену?
- Как там с рекламой? Сами делаем или заказываем?

и т.д.

У нас наоборот было. Первый курс проходили всякую хрень, включая историю. Потом со 2 курса драли в 3 шкуры по клиническим дисциплинам: анатомия, латинский, биохимия, гистология. На третьем после двух сессий (у нас сильно требовали топографическую анатомию, патанатомию, пропедевтику, общую хирургию, акушерство, фарму) процентов 10 или 20 отчислили. После 3-го курса уже расслабились. Работали на скорой фельдшерами по 1-2 раза в неделю (чаще по субботам, но иногда надо было выходить еще и в будни). Все хотели быть хирургами, а в итоге кто-то вообще ушел из медицины, кто пошёл терапевтом на участок и т.д. Проблемы начинаются уже после медвуза, когда тебе должно повезти в выборе правильного места для ординатуры. Если не повезло, то ты приходишь в больницу, где никому ты на хрен не нужен и целыми днями просиживаешь в ординаторской. Если учреждение хорошее и там выяполняется учебный план, тебя определяют к врачу, с которым ты вместе ведешь пациентов, регулярно (обычно раз в 1-2 недели) проводятся клинические разборы. Правда, даже после этого где-то год на дежурствах не чувствуешь себя уверенно в разных ситуациях.

Иногда мамы надеются, что дочь/сын найдет себе в ВУЗе мужа/жену, и не понимают, что ребенок не хочет учиться именно по этой специальности.

Я регулярно пользуюсь perplexity.ai. Там генеративная модель, которая парсит сайты. Очень удобна для работы. Иногда - gptchat3 и yandexgpt. Изредка - question-answering BERT модели для контекстного поиска по собственному корпусу текстов. Пробовал запускать LLAMA на своём компе локально (квантифицированную) и на runpod уже нормальную, правда скромную по размерам (float32 7B) модель. Gptchat4 пока не юзал, потому что не могу оплатить подписку даже через виртуальную карту( Пока, самый удобный сервис - это perplexity.ai, потому что в отличии от других моделей он парсит реальные сайты и выдаёт структурированный результат со ссылками на источники. Попробуйте сами.

Интересно, конечно, как-нибудь арендовать одну-две A100 и запустить на ней какую-нибудь большую нецензурированную модель типо WizardLM-13B-Uncensored-GGUF или Llama2chat 70b

Занимаюсь, чтобы не выгореть. Не люблю однообразия. Да и на работе от такого хобби есть польза)

Вы правы: если их труд станет дешевле, меньше людей будет учиться на программистов, их станет меньше и спрос вырастет)

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

С читаемостью кода стало полегче после изучения ООП. Теперь, хотя бы, не приходится по 10 раз переназначать одну и ту же переменную в разных местах и переписывать уже готовые функции. Но разобраться с этим подходом было довольно сложно.

Возможно, в далёком будущем хорошо пойдут биотехнологические специальности. Там поле непаханое. Но это моё мнение.

Заголовок старался как можно скромнее делать =)

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

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Специалист
Python
English
Research work