Pull to refresh
-1
0
Сергей Устьянцев @schokoro

NLP

Send message

Как учить большие языковые модели (теоретический туториал)

Level of difficultyMedium
Reading time1 min
Views4.5K

Обзорное видео с доклада об особенностях обучения LLM для тех, кто в теме ML/DL, но хочет расширить кругозор в области работы с большими языковыми моделями. На основе личного опыта и обзора множества научных статей и инструментов. Ссылка на презентацию прилагается.

Смотреть
Total votes 5: ↑5 and ↓0+5
Comments1

Как устроено пространство, в котором думают языковые модели?

Level of difficultyHard
Reading time5 min
Views16K

С момента выхода первой статьи «Attention is All You Need» я с жадностью и любопытством, присущими любому исследователю, пытаюсь углубиться во все особенности и свойства моделей на базе архитектуры трансформер. Но, если честно, я до сих пор не понимаю, как они работают и почему так хорошо обучаются. Очень хочу разобраться, в чём же причина такой эффективности этих моделей, и есть ли предел их возможностей?

Такому изучению трансформеров «под микроскопом» и посвящена наша научная работа, только что представленная на конференции EACL 2024, которая проходила на Мальте — «The Shape of Learning: Anisotropy and Intrinsic Dimensions in Transformer-Based Models». В этой работе мы сфокусировались на наблюдении за пространством эмбеддингов (активаций) на промежуточных слоях по мере обучения больших и маленьких языковых моделей (LM).

Читать далее
Total votes 52: ↑53.5 and ↓-1.5+55
Comments18

Дообучение saiga2_7b_lora

Level of difficultyMedium
Reading time10 min
Views7.6K

Дообучение 7-миллиардной модели Saiga2 под свои задачи, используя сгенерированный датасет с помощью GPT. В данной статье есть все необходимые ссылки и код для предобработки и запуска обучения модели, а также квантования модели.

Читать далее
Total votes 23: ↑20 and ↓3+17
Comments8

Parameter-Efficient Fine-Tuning (PEFT): методы LoRA, Prefix tuning, Prompt tuning и Adapters

Level of difficultyMedium
Reading time6 min
Views3.5K

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

PEFT(Parameter-Efficient Fine-Tuning) представляет собой эффективный подход, позволяющий не терять производительность при тонкой настройке модели, снижая при этом требования к памяти и вычислительным мощностям.

В этой статье мы рассмотрим общую концепцию PEFT, его преимущества и основные методы.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments1

Создайте свой клон с помощью Fine-tuned LLM

Level of difficultyMedium
Reading time10 min
Views11K

Обретите цифрового двойника

Цель этой статьи - показать, как эффективно и с минимальными затратами настроить LLM на пользовательском датасет. Мы рассмотрим использование модели Falcon-7B с адаптерами LoRa, с использованием библиотеки Lit-GPT.

Читать далее
Total votes 14: ↑14 and ↓0+14
Comments4

Почему работодатель хочет, чтобы вы были ИП

Reading time7 min
Views62K

Представим сферическую ситуацию в вакууме. Вы никогда до этого не были предпринимателем, только работали по найму. У вас на руках два оффера. Оба по 100 000 руб. на руки, оба на плюс-минус одинаковых условиях. Офис, 5 дней в неделю по 8 часов. Но один работодатель хочет заключить с вами трудовой договор, а другой предлагает вам оформиться как ИП.

Для начала зададимся вопросом, почему работодатель предлагает оформить отношения с вами как с ИП, а не берёт в штат? Если кратко, то работодателю так проще и дешевле. Почему? Давайте разберёмся.

Читать далее
Total votes 144: ↑132 and ↓12+120
Comments268

Задача готова! Или нет? Definition of Done и зачем он нужен

Level of difficultyEasy
Reading time5 min
Views5.6K

Менеджер: Эта задача готова?
Разработчик: Да.
Менеджер: Давайте катить на пользователей?
Разработчик: Давайте.
Менеджер: Что‑то не вижу функциональности на продакшене?
Разработчик: Ну, нам нужно еще пару дней — пройти код‑ревью, подождать, чтобы QA протестировали, собрать и выкатить релиз в прод, сделать несколько миграций данных, и потом мы откроем фичу для пользователей.
Менеджер: Но ты же сказал, что задача готова?
Разработчик: Да.

Думаю, многие из нас были свидетелями или участниками подобного диалога. Каждая сторона считает, что задача готова, но понимание состояния готовности разительно отличается. В итоге у каждой из сторон ожидания сильно расходятся с реальностью, что негативно влияет на коммуникацию между ними и, в целом, на развитие продукта. Так, как же этого избежать?

Читать далее
Total votes 16: ↑15 and ↓1+14
Comments13

Definition of Ready — то, о чем нам забыли рассказать

Reading time8 min
Views121K

Введение
Что такое DoR
Зачем нужен DoR
Где применять DoR
Когда применять DoR
INVEST модель
Заключение
Список литературы




Введение


Наверняка вы не раз слышали, скорее даже использовали с командой артефакт Scrum — Definition of Done далее по тексту — DoD. Возможно, используете его, даже не осознавая этого. О DoD написано много русскоязычных статей. О нём говорят на конференциях, и тренингах. Разобраться для чего нужен этот артефакт, и найти примеры не трудно. DoD определяет критерии, по которой каждый член команды понимает, что задача закрыта. Глубинная цель — синхронизировать понятие Done, между каждым членом команды. Над этими критериями, часто, команда трудится во время ретроспективы. Существует похожий артефакт, о котором почему-то нет упоминания в русскоязычных ресурсах о Scrum, а там где этот артефакт упоминается, не даётся никаких разъяснений что это, зачем нужен, и как использовать.


Скорее всего, в вашей команде звучали фразы наподобие: «Мы завалили цель, потому что неправильно оценили задачу», или «Наш PO опять пришёл с задачей без должного описания». В моей команде, подобные “сигналы” появлялись не один раз, и я долго искал способ, чтобы решить эту проблему.

Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments5

Как быстро написать API на FastAPI с валидацией и базой данных

Reading time11 min
Views19K

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

В этой статье мы разработаем простой API с помощью самого популярного стека и FastAPI. Рассмотрим важные концепции в работе с этим фреймворком, набросаем базовую структуру проекта и развернем приложение на облачном сервере. Подробности под катом!
Читать дальше →
Total votes 53: ↑48 and ↓5+43
Comments39

Кто такие LLM-агенты и что они умеют?

Level of difficultyMedium
Reading time24 min
Views25K

В последнее время большие языковые модели (Large Language Models, LLM) стали невероятно популярными — кажется, их обсуждают везде, от школьных коридоров до Сената США. Сфера LLM растёт бурными темпами, привлекая внимание не только специалистов в области машинного обучения, но и обычных пользователей. Кто-то высказывает массу опасений насчет их дальнейшего развития, а кто-то и вовсе предлагает бомбить дата-центры — и даже в Белом Доме обсуждают будущее моделей. Но неужели текстом можно кому-то навредить? А что если такая модель приобрела бы агентность, смогла создать себе физическую оболочку и полностью ей управлять? Ну, это какая-то фантастика из (не)далёкого будущего, а про агентов нашего времени я расскажу в этой статье. И не переживайте — знание машинного обучения вам не понадобится!

Читать далее
Total votes 23: ↑23 and ↓0+23
Comments13

Дообучение ruGPT-3.5 13B с LoRA

Level of difficultyMedium
Reading time10 min
Views16K

Добрый день, уважаемые читатели и авторы Хабра!

Сегодня я рад представить вам подробное руководство по обучению модели ruGPT-3.5 13B с использованием датасетов модели Saiga-2/GigaSaiga, технологии Peft/LoRA и технологии GGML. Эта статья призвана стать полезным и практичным ресурсом для всех, кто интересуется машинным обучением, искусственным интеллектом и глубоким обучением, а также для тех, кто стремится глубже понять и освоить процесс обучения одной из самых мощных и перспективных русскоязычных моделей.

В данной публикации мы разберем каждый этап обучения модели, начиная от подготовки данных и заканчивая конвертацией в формат GGML. Буду рад, если мой опыт и знания помогут вам в вашем исследовании и экспериментах в этой захватывающей области!

Читать далее
Total votes 30: ↑30 and ↓0+30
Comments27

Добавление собственных данных в LLM с помощью RAG

Level of difficultyMedium
Reading time28 min
Views15K

Этот материал посвящён тому, как добавлять собственные данные в предварительно обученные LLM (Large Language Model, большая языковая модель) с применением подхода, основанного на промптах, который называется RAG (Retrieval‑Augmented Generation, генерация ответа с использованием результатов поиска).

Большие языковые модели знают о мире многое, но не всё. Так как обучение таких моделей занимает много времени, данные, использованные в последнем сеансе их обучения, могут оказаться достаточно старыми. И хотя LLM знакомы с общеизвестными фактами, сведения о которых имеются в интернете, они ничего не знают о ваших собственных данных. А это — часто именно те данные, которые нужны в вашем приложении, основанном на технологиях искусственного интеллекта. Поэтому неудивительно то, что уже довольно давно и учёные, и разработчики ИИ‑систем уделяют серьёзное внимание вопросу расширения LLM новыми данными.

До наступления эры LLM модели часто дополняли новыми данными, просто проводя их дообучение. Но теперь, когда используемые модели стали гораздо масштабнее, когда обучать их стали на гораздо больших объёмах данных, дообучение моделей подходит лишь для совсем немногих сценариев их использования. Дообучение особенно хорошо подходит для тех случаев, когда нужно сделать так, чтобы модель взаимодействовала бы с пользователем, используя стиль и тональность высказываний, отличающиеся от изначальных. Один из отличных примеров успешного применения дообучения — это когда компания OpenAI доработала свои старые модели GPT-3.5, превратив их в модели GPT-3.5-turbo (ChatGPT). Первая группа моделей была нацелена на завершение предложений, а вторая — на общение с пользователем в чате. Если модели, завершающей предложения, передавали промпт наподобие «Можешь рассказать мне о палатках для холодной погоды», она могла выдать ответ, расширяющий этот промпт: «и о любом другом походном снаряжении для холодной погоды?». А модель, ориентированная на общение в чате, отреагировала бы на подобный промпт чем‑то вроде такого ответа: «Конечно! Они придуманы так, чтобы выдерживать низкие температуры, сильный ветер и снег благодаря…». В данном случае цель компании OpenAI была не в том, чтобы расширить информацию, доступную модели, а в том, чтобы изменить способ её общения с пользователями. В таких случаях дообучение способно буквально творить чудеса!

Читать далее
Total votes 22: ↑22 and ↓0+22
Comments1

Общаемся с базой знаний: как мы улучшили точность генеративных ответов LLM с помощью собственного RAG

Level of difficultyEasy
Reading time7 min
Views7K

Одна из основных проблем при использовании больших языковых моделей это практически неустранимые галлюцинации, возникающие при ответах на вопросы по загруженным документам. Задача "поговорить со своими документами" возникает очень часто, и как правило, она решается с помощью промптинга - вы загружаете вашу статью, договор или другой документ и пишете промпт "Ответь на вопрос по тексту:". Этот способ работает, но у него есть существенные недостатки: размер документа ограничен 1-3 страницами, рандомное возникновение галлюцинаций - неправильных ответов, выглядящих правдоподобно.

В этой статье мы показываем работающие кейсы и синергию подходов, реализованных нами в рамках разработки агента вопросно ответной системы - FractalGPT QA агента. В частности, с помощью алгоритма Fractal answer synthesis и интерпретируемого ИИ нам удается существенно снизить % галлюцинаций и стабильно сильно повысить точность и полноту ответов. Если читать теорию не охота - можно сразу промотать на кейсы.FractalGPT QA агента доступен в закрытой бете, запрос на тест QA системы по базе знаний можно оставить тут.

Читать далее
Total votes 7: ↑5 and ↓2+3
Comments10

Архитектура RAG: полный гайд

Level of difficultyHard
Reading time13 min
Views8.7K

Если, открывая холодильник вы еще не слышали из него про RAG, то наверняка скоро услышите. Однако, в сети на удивление мало полных гайдов, учитывающих все тонкости (оценка релевантности, борьба с галлюцинациями и т.д.) а не обрывочных кусков. Базируясь на опыте нашей работы, я составил гайд который покрывает эту тему наиболее полно.

Итак зачем нужен RAG?

Читать далее
Total votes 30: ↑29 and ↓1+28
Comments9

Предсказать ошибку. Как методы оценки неопределенности помогают повышать качество seq2seq-моделей

Level of difficultyHard
Reading time8 min
Views1.3K

Всем привет! Меня зовут Артём Важенцев, я аспирант в Сколтехе и младший научный сотрудник AIRI. Наша группа занимается исследованием и разработкой новых методов оценивания неопределенности для языковых моделей. Этим летом мы опубликовали две статьи на ACL 2023

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

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments0

Генерация ответов с расширенным поиском в техподдержке на основе YandexGPT, ChatGPT

Level of difficultyMedium
Reading time20 min
Views5.2K

Статья посвящена рассмотрению процесса создания системы генерации ответов службы технической поддержки. Для этого используется методика с расширенным поиском, известная как Retrieval-Augmented Generation (RAG). Процесс основан на использовании шаблонов и реальных вопросов-ответов техподдержки. В качестве основных инструментов применяются YandexGPT / ChatGPT и ChromaDB.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments8

ChatGPT для разработчиков: API, лимиты, как втягивать в него базу знаний, что нельзя сделать, что лучше делать осторожно

Reading time12 min
Views14K
image

Мы с командой вернулись тут с Хайлоада, и там даже CTO крупных компаний задают много вопросов про разработку с LLM. Наша компания занимается прикладной разработкой всего того, что касается GPT/LLM.

Расскажу про очевидные вещи, о которых у меня там спрашивали CTO и разработчики.

Самый частый вопрос: можно ли подключать свою базу документов и можно ли по ней нормально работать?

Можно. Для этого нужно две вещи:

  1. OpenAI может работать с вашей базой, например, вики техподдержки, но её надо векторизовать. Получится, что модель только ищет по ней и может отвечать фрагментом исходника, но может его обрабатывать как текст (то есть сравнивать, анализировать и тому подобное).
  2. Дальше можно использовать подход QA Retrieval Chain для работы с векторной базой. Работает это так: задаём вопрос, LLM формируют запрос к векторной базе, мы вынимаем из неё данные, подкладываем их в вопрос как контекст и передаём в LLM, а они формируют ответ.

Но давайте начнём сначала. Основное:

  1. Какого размера промпты могут быть, сколько, какие лимиты, как их частично обходить.
  2. Как подключается база, как закидывать реально большие документы, как эмбеддится вектор, на каких языках это происходит и тому подобное.
  3. Разные API.
  4. Агентная модель GPT Engineer и АutoGPT.
  5. Фреймворк лангчейн (построение цепочек запросов и разбиение макрозапроса на сотни).

Поехали!
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments13

Собираем русскоязычный лонгформер шаг за шагом

Reading time8 min
Views7.2K

Привет, меня зовут Андрей Казначеев, я NLP engineer в компании MTS AI. В этой статье я расскажу, как создал лонгформер для русского языка. Все началось с того, что мне подкинули задачу по классификации длинных диалогов. Тексты длинные, а большинство популярных моделей имеют строгое ограничение по длине входной последовательности. Хотелось сделать решение умнее, чем просто побить текст на куски, однако ничего готового для русского языка не нашел. Тогда я задумался, а так ли сложно сделать свою собственную версию лонгформера под русский язык? Оказалось, совсем не сложно.

Читать далее
Total votes 38: ↑38 and ↓0+38
Comments21

10 правил, которые выполняют успешные тимлиды

Level of difficultyEasy
Reading time8 min
Views13K

Возможно, вы скажете, что в команде нет место слову "я", тем не менее у каждой серьезной команды есть лидер - он же тимлид. Тимлиды отвечают за все, начиная от повседневной работы и заканчивая оказанием своевременной поддержки команды для достижения поставленных целей. 

В зависимости от структуры компании, может быть непонятно, что именно включает в себя роль тимлида, и как она отличается от роли проджект-менеджера. В данной статье мы расскажем о том, кто такой тимлид на самом деле, чем он занимается, и как эта роль отличается от роли проджект-менеджера. Также мы дадим 10 советов, которые помогут вам стать успешным тимлидом.

Читать далее
Total votes 12: ↑9 and ↓3+6
Comments3

PSM 1 — 5 вопросов, ответы на которые помогут подготовиться к экзамену

Reading time6 min
Views6.6K

Коллеги, всем привет!

В сегодняшней статье хотелось бы поговорить о нескольких моментах, которые могут помочь подготовиться к сдаче экзамена PSM1.

Читать далее
Total votes 2: ↑1 and ↓10
Comments0

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity