Large language models (LLM) в жизни рядового программиста

Хайп про AI и LLM (Large language models) / RAG (Retrieval augmented generation) не проходит. Более того, даже стали выходить железные устройства с поддежкой AI (самые необычные из них — Rabbit r1 и Humane pin). Выглядит так, что отсидеться в тени и не прикоснуться к AI не выйдет. Я решил написать небольшой пост о том, как я сейчас (не?)-использую LLM/RAG на работе и в быту.

Про непосредственно программирование. Я до сих пор не использую GitHub Copilot. Вокруг меня есть люди, кто использует копайлот, и кто не делает этого. Кому-то нравится, кто-то считается что генерированный код только мешает, и необходимость проверки сгенерированного кода только увеличивает время разработки. Возможно, я когда-то попробовать копайлот, или встроенный AI в IntelliJ IDEA, но не прямо сейчас.

Про изучение того, как работает LLM. Я пока не трачу энергию на изучение этой сферы изнутри. Возможно, это ошибка с точки зрения карьеры. Но я чувствую, что если и изучать детали работы AI/LLM, надо подходить к этому основательно — начиная с базы по статистике, возможно линейной алгебре, заканчивая курсами введения в машинное обучение и нейронные сети. Выглядит, как довольно большая специализация, которую я пока не рассматриваю для себя. Однако я начал немного поглядывать на то, что выкладывает Андрей Карпаты (один из отцов LLM), в частности на llama2.c. Возможно, в скором времени я начну изучать это более глубоко, если пойму что большинство работы в будущем будет в этой сфере.

Java и LLM. Я стараюсь крутиться в Java тусовки, и тут все говорят про AI и LLM в последние месяцы. Поэтому я пассивно получаю информацию про эти технологии, ничего не делая специально. Много разговоров о том, как делать инференс моделей непосредственно из Java, и как этому процессу помогут Project Panama и Project Valhalla (например, llama3.java). Кроме того, много разговоров как добавить функционального векторной базы данных в существующие java проекты (например, в Cassandra) — https://github.com/jbellis/jvector.

Про локальные модели. В нашей индутсрии есть очень много работ по запуску LLM локально. Главный игрок тут — Meta Llama 3 (как самая большая публично доступная модель, и как индустриальный стандарт внутренного представления модели для других моделей). Я пока не пробовал запускать ничего локально, хотя несколько идей мне нравятся (например, локальные Text-to-SQL модели). Посмотрим, куда пойдет индустрия. Возможно, скоро нам потребуется рабочие ноутбуки с мощными видеокартами (или отдельными со-процессорами под AI) — впрочем макбуки уже имееют такой модуль.

Использование ChatGPT, или Gemini в быту. У нас есть тренд, что качество гугл поиска ухудшается с течением времени — слишком много рекламных ссылок и нерелевантной информации на первой странице запроса. Приходится добавлять reddit к каждому поисповому запросу, чтобу получить живые результаты. Я стал замечать за собой, что порой я использую ChatGPT, или Gemini, как один из поисковиков (они не могут быть единственным поисковиком, так как нет валидации результата, и мне нужны несколько разных взглядов на проблему). Особенно хорошо это работает для неважных поисковых запросов (например, сколько минут жарить курицу в духовке?).

Интересно, как много месяцев еще продлится хайп LLM/AI, или это новая эра, которая уже больше никуда не денится, и нужно начинать инвестировать силы сюда, чтобы не остаться без работы завтра.

Категории: Программирование