LLM - Large Language Models, общее название всем известных и не очень chatgpt, claude, phind, commandR и других моделей, доступных в формате чат-ботов с сохранение контекста переписки.
Использование LLM еще не мейнстрим повестка, по ощущениям на второй стадии "Ранние последователи" по Роджерсу [en][ru]
Для обучения LLM нужны тысячи специализированных устройств и огромные наборы данных для тренировки, в анонсе недавно представленной модели llama3 написано:
It’s been trained on our two 24K GPU clusters on over 15T token of data – a training dataset 7x larger than that used for Llama 2, including 4x more code.
Риски и ограничения использования LLM:
- "Галлюцинации" в ответах, когда чат-бот убедительно вводит в заблуждение. Чем больше опыт написания промптов, с опытом это заметнее.
- Чаты юзеров - новая форма больших данных для обучения. Новая грань цифровой гигиены - давать меньше данных для обучения через чаты.
- Приватность чатов. Большие модели LLM (>=70b) все еще дорого запускать в рамках домашнего сетапа, остаются облачные варианты, зачастую закрытых моделей, где приватность под вопросом и обучение на данных чатов не контролируется, есть просто checkbox что "не нада обучаться на данных моих чатов"
- Фильтры внутри LLM. Идея хорошая, не допускать того, чтобы LLM обучали делать плохие вещи и вещества, но обратная сторона в том, что создатели модели решают что хорошо, а что плохо, остается риск, что кожаные мешки будут переписывать неудобные исторические факты.
- Модели устаревают за пару месяцев. Нужно пользоваться наиболее продуктивной по бенчмаркам моделью, чтобы быть на коне. Модель 2021 года не может знать про golang generics и следовательно генерировать код с такой фичей. В аналоге npmjs/pypi для моделей есть результаты бенчмарков
------------------------------------
За последние пару месяцев получается внедрять LLM ассистентов, большую часть гуглежа направляю в LLM и получаю ответы быстрее и качественее.
Эволюция процесса программирования видится так:
- Человек ориентируется по книгам программирования
- Человек гуглящий и ютуб смотрящий
- Человек с LLM ассистентами и ютуб смотрящий, изредка гуглящий.
Сетап для программирования дополнился установкой плагина continue для vscode/jetbrains и настройкой на работу с открытыми моделями внутри (llama3 на https://www.together.ai/). Скрипт настройки прикреплю в первом комментарии
Еще сетап дополнился full-line-completion в jetbrains ide. Локальная тупенькая LLM что по контексту файла советует что писать на строке с кареткой. Это непередаваемое облегчение, когда с ее помощью меньше печатать текста для типовых текстов ошибок.
Выделяю фрагмент кода или функцию, прошу модель из continue отрефакторить или "причесать" код или создать тест кейсы.
Типичный случай, когда нужно покрыть тестами функцию, модель генерирует все видимые тест кейсы под все наборы данных, ожидается, что функция уже продумала все исключения и нужно тестами убедиться, что все работает как ожидается. Человеческая усталось тут может проявиться и есть вероятность просто забыть сделать один из тест кейсов, например, когда входные данные пустые.
Технология многообещающая, главное деградировать медленнее, чем развиваются LLM 😄