Search
Write a publication
Pull to refresh
4
0
Send message

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

Level of difficultyMedium
Reading time28 min
Views48K

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

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

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

Читать далее

Доступная система видеонаблюдения с охраной на дачу за 60 минут

Reading time24 min
Views98K

Речь пойдет о сборке, настройке и запуске охранной системы с датчиками, камерой, хранением видеозаписей на удаленном домашнем NAS, встроенным UPS, web-интерфейсом и оповещением через Telegram.

Чтобы быть предельно кратким, оформил статью в стилистике hackster.io. Информация рассчитана на читателей с опытом работы с одноплатным компьютером Raspberry и пониманием принципов работы VPN.

Читать далее

Гипотеза континуума, современное состояние

Level of difficultyMedium
Reading time8 min
Views27K

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

Читать далее

Signal Integrity of DDR4

Level of difficultyHard
Reading time15 min
Views23K

Доброго времени суток! Наверное, вы все знакомы с компьютерной оперативной памятью DDRx (где x - поколение). Я бы хотел вам рассказать о ней с точки зрения SI (Signal Integrity - целостность сигналов) и принципов трассировки этого интерфейса.

Читая документацию на различные микросхемы CPU, FPGAs, DSPs, ASICs можно увидеть много различных рекомендаций, так называемых «Rules of Thumb», по трассировке DDR3/4 SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory — синхронная динамическая память с произвольным доступом и удвоенной скоростью передачи данных). Но в ней редко можно встретить информацию почему именно так это необходимо делать. В этой статье я попытаюсь вам объяснить различные способы улучшения SI с точки зрения схемотехники и топологии.

Читать далее

Неограниченный доступ к знаниям: библиотека Стандартных Шаблонных Конструкций

Level of difficultyMedium
Reading time9 min
Views24K

Есть много причин почему доступ научным статьям и книгам должен быть свободным:

Во-первых, это прекрасно

Во-вторых...

Калибровка магнитометра: через вращения к компасу

Level of difficultyMedium
Reading time13 min
Views10K

Многим сервисам критически важно иметь информацию о местонахождении подключенных устройств. Кикшеринг — не исключение. Нам в Whoosh нужно отслеживать каждый отдельно взятый самокат в каждый отдельно взятый момент времени. Поэтому все наши самокаты оснащены навигационным приемником, или как его еще называют, GNSS модулем. Однако, технология спутниковой навигации, несмотря на свою чрезвычайную популярность обладает и рядом недостатков. Например, навигационный приемник относительно легко сбить с толку, то есть заглушить или исказить принимаемый им сигнал. В результате, получаемое пользователем местоположение не будет иметь ничего общего с действительностью. И бороться с этим достаточно сложно. Поэтому на помощь спутниковой навигации приходят другие, альтернативные способы определения местоположения, такие как инерциальные навигационные системы (ИНС), определение местоположения по базовым станциям и WiFi точкам и т.д.

И сегодня мы поговорим об ИНС, а точнее об одном из необходимых элементов подобных систем — магнитометре, а еще точнее о том, как его калибровать.

Читать далее

Нейронные сети для планирования движения беспилотных автомобилей

Reading time16 min
Views19K

Планировщик движения беспилотного автомобиля — это алгоритм-помощник, который общается с другими участниками движения посредством манёвров. То есть он действует так, чтобы другим было понятно, куда поедет беспилотник, и сам по действиям других пытается определить, кто куда будет двигаться и почему.

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

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

Читать далее

Высокоточная навигация GNSS RTK

Level of difficultyEasy
Reading time7 min
Views25K

Демонстрации возможностей микросхем ZED F9P. Это примёмник GNSS с возможностью высокоточной навигации по технологии RTK.

Я решил самостоятельно оценить точность измерения координат.

Читать далее

Компиляция моделей МО в С

Level of difficultyHard
Reading time28 min
Views5.8K

Статья посвящена знакомству с инструментом micrograd и компиляции генерируемых им нейронных сетей в язык С. При этом она не является руководством по машинному обучению, но вполне может позволить вам лучше понять МО через призму компиляторов. В ходе этого процесса мы также разберём цепное правило, напишем собственный небольшой компилятор и посмотрим, как micrograd масштабируется.

Недавно у меня состоялся приятный разговор с моим другом Крисом. Он познакомил меня с основами машинного обучения, когда я разбирал написанный Андреем Карпаты micrograd.

Для тех, кто не знает, micrograd – это небольшая реализация нейронной сети, написанная на чистом Python без библиотек, в которой вычислительными единицами выступают не векторы и матрицы, а скалярные величины.
Читать дальше →

5 советов разработчику перед стартом своего стартапа. Опыт после 750 000 рублей

Level of difficultyEasy
Reading time6 min
Views25K

Всем привет! Меня зовут Ростислав, я full-stack разработчик. Последние 3 года у меня есть хобби - доведение пет-проектов до стадии финансово рентабельных IT продуктов. Сейчас я хочу поделиться своими советами о запуске проекта, исходя из своего опыта.

Читать далее

Книги по C++, которые можно рекомендовать разработчикам в 2023 году

Reading time4 min
Views80K

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

Читать далее

Блокировка Trello и Jira? Ничего страшного, поднимаем свой сервер

Level of difficultyEasy
Reading time5 min
Views32K

Redmine и Plane — опенсорсные альтернативы Jira на своём хостинге

Компания Atlassian в рассылке для пользователей предупредила, что все аккаунты в России и Беларуси будут принудительно отключены. Клиентам дают 30 дней на перенос своих данных.

Из опыта прошлых блокировок других сервисов, самый надёжный вариант в таком случае — поднять собственный сервер с аналогичной системой (но опенсорсной и бесплатной), чтобы ни от кого не зависеть.
Читать дальше →

Рационализация - мышление не с того места

Reading time8 min
Views7.5K

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

Так вот для первого режима есть название — рационализация или еще его называют мотивированное мышление. Это чем-то напоминает поиск решения, когда ты заглянул в ответы в конце учебника, и узнал к чему нужно прийти. Правда существует серьёзная разница: в жизни ответы, которые у тебя есть, не всегда верны. Про это и поговорим.

Проявить любопытство

Разработка сервопривода с BLDC мотором

Level of difficultyMedium
Reading time16 min
Views19K

Открытый проект серво‑контроллера MC50 продолжает развиваться. На этот раз поговорим о создании сервопривода.

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

Читать далее

Нейронные сети, графы и эмерджентность

Level of difficultyHard
Reading time6 min
Views7.5K

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

Читать далее

Сбер открывает доступ к нейросетевой модели ruGPT-3.5

Level of difficultyEasy
Reading time3 min
Views47K

? Upd. Добавили пример запуска в Colab'е.

Друзья, свершилось. Сегодня мы рады сообщить вам о релизе в открытый доступ нейросетевой модели, которая лежит в основе сервиса GigaChat.

Про то, что такое GigaChat и как мы его обучаем, вы можете прочитать в нашей предыдущей статье. Скажу лишь, что главной его частью, ядром, порождающим креативный ответ на ваш запрос, является языковая модель обученная на огромном количестве разнообразных текстов — сотен тысяч книг, статей, программного кода и т.д. Эта часть (pretrain) затем дообучается на инструкциях, чтобы лучше соответствовать заданной форме ответа. Обучение такого претрейна занимает около 99% от всего цикла обучения и требует значительного количества ресурсов, которыми обычно обладают только крупные компании.

Этот претрейн, названный ruGPT-3.5, мы выкладываем на Hugging Face под лицензией MIT, которая является открытой и позволяет использовать модель в коммерческих целях. Поговорим о модели подробнее.

Читать далее

Самые распространённые логические ошибки

Level of difficultyEasy
Reading time12 min
Views84K

Изучение логических ошибок помогает в развитии критического мышления, необходимого во всех сферах жизни. School of Thought проделала отличную работу, описав 24 наиболее распространенные логические ошибки.

Читать далее

Софт для самохостинга: что нового в 2023 году

Level of difficultyEasy
Reading time6 min
Views47K


Среди обычных пользователей (физлиц) в последнее время наметилась тенденция ухода из облака на свою инфраструктуру. Об экономии тут речи обычно не идёт, потому что облачные сервисы Google, Apple и прочие заманивают бесплатными тарифами. Но у людей растёт понимание, что нельзя доверять Google. Надеяться можно только на себя.

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

Swin Transformer V1 и V2 — лучшие модели компьютерного зрения не на основе CNN

Reading time5 min
Views3.8K

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

Читать далее

21 фича современного C++, которые вам обязательно пригодятся

Reading time10 min
Views36K

Итак, судьба снова свела вас с C++, и вы поражены его возможностями с точки зрения производительности, удобства и выразительности кода. Но вот незадача: вы теряетесь в этом многообразии замечательных новых фич и, как следствие, затрудняетесь сходу определить, что из этого всего вам действительно стоило бы взять на вооружение в своей повседневной работе по написанию кода. Не стоит расстраиваться, в этой статье вашему вниманию будут представлены 21 новая фича современного C++, которые помогут сделать ваш проект лучше, а работу над ним легче.

Сообщество C++ дополняет стандарт чаще, чем Apple выпускает новые iPhone. Благодаря этому C++ теперь больше похож на большого слона, а съесть целого слона за один присест невозможно. Вот почему я решил написать эту статью, чтобы дать вашему путешествию по современному C++ своего рода отправную точку. Моя целевая аудитория здесь — люди, которые переходят со старого (т.е. 98/03) С++ на современный (т.е. 2011 и далее) С++.

Я отобрал ряд фич современного C++ и постарался объяснить их на лаконичных примерах, чтобы вы научились определять места, где их можно использовать.

Читать далее

Information

Rating
5,218-th
Registered
Activity