Обновить
1
@tegetread⁠-⁠only

Пользователь

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

Не гугли — собери ИИ-агента, который сам ищет, пишет и помогает с кодом

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели70K

Заметил, что трачу часы на поиск, баги и рутину — собрал ИИ-агента, который делает это за меня. Протестировал 3 подхода — от no-code до кастомного LangChain. В статье — инструкция и инсайты.

Читать далее

Как я победил в RAG Challenge: от нуля до SoTA за один конкурс

Уровень сложностиСредний
Время на прочтение23 мин
Охват и читатели94K

Когда новичок пытается построить свою первую вопросно-ответную LLM систему, он быстро узнаёт, что базовый RAG - это для малышей и его нужно "прокачивать" модными техниками: Hybrid Search, Parent Document Retrieval, Reranking и десятки других непонятных терминов.
Глаза разбегаются, наступает паралич выбора, ладошки потеют.

А что, если попробовать их все?
Я решил потратить на подготовку к соревнованию 200+ часов и собственноручно проверить каждую из этих методик.
Получилось настолько удачно, что я выиграл конкурс во всех номинациях.

Теперь рассказываю, какие техники оказались полезными, а какие нет, и как повторить мой результат.

Читать далее

Пишем свой Transformer

Время на прочтение12 мин
Охват и читатели21K

Захотелось более детально разобраться и попробовать самостоятельно написать Transformer на PyTorch, а результатом поделиться здесь. Надеюсь, так же как и мне, это поможет ответить на какие-то вопросы в данной архитектуре.

Читать далее

Игра в имитацию: используем Python для генерации синтетических данных для ML и не только

Уровень сложностиСредний
Время на прочтение46 мин
Охват и читатели13K

Ручной сбор данных — это всегда боль. Он съедает время, деньги и нервы, особенно в таких областях, как медицина или финансы, где затраты могут быть космическими, а юридические барьеры — непреодолимыми. По прогнозу Gartner, к 2030 году синтетические данные полностью затмят реальные данные в моделях ИИ.Почему? Потому что это работает.

Что такое синтетические данные? Это искусственно созданные наборы данных, которые имитируют реальные данные, но не основаны на реальных событиях или людях. Они генерируются с помощью алгоритмов и математических моделей, которые воспроизводят статистические свойства, паттерны и взаимосвязи, присущие реальным данным. По сути, это цифровые двойники реальности, где мы можем контролировать каждый параметр: от распределений до корреляций и аномалий.

Читать далее

CAG и KAG: Улучшенные методы дополнения генерации после RAG

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели17K

Если вы следите за развитием технологий в области обработки естественного языка, то наверняка слышали о технологии Retrieval Augmented Generation (RAG), которая объединяет методы поиска с генеративными моделями для создания более интеллектуальных, обогащенных контекстом ответов. Но, как и любая технология, RAG имеет свои особенности, и именно здесь на помощь приходят два подхода: Cache-Augmented Generation (CAG) и Knowledge-Augmented Generation (KAG). В этой статье мы подробно рассмотрим, что представляют собой эти методы, чем они отличаются друг от друга и в чем заключается их преимущество. Давайте начнем!

Читать далее ->

Структура FastAPI приложения

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели33K

В данной статья я решил описать свой опыт создания шаблона для проектов, использующих FastAPI, SQLAlchemy, Docker

Читать далее

Оценка RAG: Полное руководство по модульному тестированию RAG в CI/CD

Время на прочтение10 мин
Охват и читатели8.4K

Генерация дополненного извлечения (RAG) стала самым популярным способом предоставления LLM дополнительного контекста для создания адаптированных выходных данных. Это отлично подходит для приложений LLM, таких как чат-боты или агенты ИИ, поскольку RAG предоставляет пользователям гораздо более контекстуальный опыт, выходящий за рамки данных, на которых обучались LLM, такие как GPT-4.

Неудивительно, что практикующие LLM столкнулись с проблемами оценки приложений RAG во время разработки. Но благодаря исследованиям, проведенным RAGA, оценка общих характеристик генератора-извлекателя систем RAG в 2024 году является в некоторой степени решенной проблемой. Однако создание приложений RAG до сих пор остается проблемой — вы можете использовать неправильную модель встраивания, плохую стратегию фрагментации или выводить ответы в неправильном формате, что как раз и пытаются решить такие фреймворки, как LlamaIndex.

Но теперь, по мере того как архитектуры RAG становятся все более сложными, а сотрудничество между специалистами LLM в этих проектах усиливается, возникновение критических изменений становится более частым, чем когда-либо.

Читать далее

Обучение и fine-tuning моделей простым языком: зачем, как, где

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели32K

В нашей работе с большими языковыми моделями (LLMs), один из самых популярных вопросов касается их до-обучения. Каждый второй клиент спрашивает, нужно ли проводить дополнительное обучение модели.

Давайте рассмотрим нужно ли это, как это сделать.

Читать далее

Как на самом деле работает Attention

Уровень сложностиСложный
Время на прочтение8 мин
Охват и читатели7.5K

Как именно работают механизмы, которые позволяют LLM так эффективно взаимодействовать с контекстом? Принято рассматривать нейронные сети как black-box, не разбираясь, что на самом деле происходит во время их инференса. Однако можно немного заглянуть «в мозги» нейронным сетям и попытаться понять, за что отвечают те или иные группы параметров модели.

Меня зовут Михаил Коновалов, я работаю ML-инженером в Okko. В этой статье я хочу рассмотреть несколько публикаций, посвященных интерпретации механизма Attention в трансформерах.

Читать далее

Топ 5 продвинутых инструментов Data Science. Изучи за выходные и будешь выделяться

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели27K

Привет, чемпионы! Сегодня рассмотрим, как облегчить себе жизнь, применяя 5 инструментов в своих проектах. Эти инструменты улучшат ваш код, сделают ваш pipeline более стабильным и позволят не писать один код по 10 раз. Круто? Погнали!

Изучать новое!

Дообучаем Llama 3.1 у себя дома

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели65K

Привет, чемпионы!

С каждым днем появляется все больше и больше LLM. Их метрики растут с таким же бешеным темпом. Но в узких областях знаний они до сих пор дают осечку. Почему это происходит и как с эти бороться? - Разбираем универсальный код для дообучения LLM на своих данных!

Дообучать LLM!

Fine-tuning больших языковых моделей в 2024 году

Время на прочтение14 мин
Охват и читатели19K

Не секрет, что большие языковые модели (LLM) эволюционируют с безумной скоростью и привлекают внимание всей отрасли генеративного ИИ. Корпорации не просто заинтригованы, они одержимы LLM, и в частности, потенциалом fine-tuning LLM. В исследования и разработку LLM сейчас вкладываются миллиарды долларов. Лидеры отрасли и энтузиасты технологий всё сильнее стремятся углубить своё понимание LLM и их fine-tuning. Эта сфера natural language processing (NLP) постоянно расширяется, поэтому критически важно иметь актуальную информацию. Польза, которую LLM могут принести вашему бизнесу, зависит от ваших знаний и понимания этой технологии.

Цикл жизни большой языковой модели состоит из множества важных этапов, и сегодня мы рассмотрим один из самых любопытных и активно развивающихся частей этого цикла — процесс fine-tuning моделей LLM. Это трудозатратная, тяжёлая, но перспективная задача, используемая во многих процессах обучения языковых моделей.
Читать дальше →

Азы больших языковых моделей и трансформеров: декодер

Уровень сложностиСложный
Время на прочтение14 мин
Охват и читатели15K

В этом материале мы поговорим об устройстве компонента‑декодера в системах машинного обучения, построенных по архитектуре «трансформер», уделив особое внимание отличию декодера от энкодера. Уникальной особенностью декодеров является то, что они похожи на циклы. Они, по своей природе, итеративны, что контрастирует с линейными принципами обработки данных, на которых основаны энкодеры. В центре декодера находятся две модифицированные формы механизма внимания: механизм множественного внимания с маскировкой (masked multi‑head attention) и механизм множественного внимания энкодера‑декодера (encoder‑decoder multi‑head attention).

Слой множественного внимания с маскировкой в декодере обеспечивает последовательную обработку токенов. Благодаря такому подходу предотвращается воздействие последующих токенов на сгенерированные токены. Маскировка важна для поддержки порядка следования и согласованности сгенерированных данных. Взаимодействие между выходом декодера (из слоя множественного внимания с маскировкой) и выходом энкодера организовано с помощью механизма множественного внимания энкодера‑декодера. Этот последний шаг даёт декодеру доступ к входным данным.

Мы, кроме того, продемонстрируем реализацию этих концепций с использованием Python и NumPy. Мы создали простой пример перевода предложения с английского языка на португальский. Практическая демонстрация обсуждаемых здесь идей поможет проиллюстрировать работу внутренних механизмов декодера в трансформерах и позволит лучше понять роль декодеров в больших языковых моделях (Large Language Model, LLM).

Читать далее

Проект Natasha. Набор качественных открытых инструментов для обработки естественного русского языка (NLP)

Время на прочтение34 мин
Охват и читатели132K
Два года назад я писал на Хабр статью про Yargy-парсер и библиотеку Natasha, рассказывал про решение задачи NER для русского языка, построенное на правилах. Проект хорошо приняли. Yargy-парсер заменил яндексовый Томита-парсер в крупных проектах внутри Сбера, Интерфакса и РИА Новостей. Библиотека Natasha сейчас встроена в образовательные программы ВШЭ, МФТИ и МГУ.

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

Для новостных статей качество на всех задачах сравнимо или превосходит существующие решения. Например с задачей NER Natasha справляется на 1 процентный пункт хуже, чем Deeppavlov BERT NER (F1 PER 0.97, LOC 0.91, ORG 0.85), модель весит в 75 раз меньше (27МБ), работает на CPU в 2 раза быстрее (25 статей/сек), чем BERT NER на GPU.

В проекте 9 репозиториев, библиотека Natasha объединяет их под одним интерфейсом. В статье поговорим про новые инструменты, сравним их с существующими решениями: Deeppavlov, SpaCy, UDPipe.

2

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

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

ML разработчик
Средний
От 350 000 ₽
Python
Машинное обучение
Deep Learning
Обработка естественного языка
Компьютерное зрение
Математическое моделирование