Transcription
Всем привет! Это Миша, естественный интеллект, и сегодня будем разговаривать про искусственный интеллект.
Будем рассматривать одну проблему, которую пытаются решить очень многие — это так называемая технология генерации с дополнениями, с дополнительным извлечением информации.
Расскажу про то, как это работает, постараюсь сделать это простыми, понятными словами. Постараюсь привести какие-то примеры, чтобы это было просто и понятно.
Потому что много кто сейчас об этом пишет, но везде написано очень сложно, непонятно, невнятно. Поэтому буду рассказывать по личному опыту, как я разобрался, понял, как я запустил эту штуку, как она работает.
Всё просмотрим, проверим, протестируем. Начнём с простых вещей. Начнём с промта. Когда мы создаём ассистентов, работаем с искусственным интеллектом, мы придумаем для него инструкцию. Эта инструкция называется промт.
Мы сейчас будем создавать, допустим, есть такой писатель — Эрих Мария Ремарк. Можно делать в любой другой системе, в которой поддерживается создание ассистентов с искусственным интеллектом. Но так как я разрабатываю экосистему, буду показывать на ней. Но это принцип один и тот же везде.
Вот мы смотрим, как создаётся наш будущий ассистент. Я уже подготовил промт, чтобы не тратить слишком много времени. Просто говорит, что ты писатель Эрих Мария Ремарк, ты знаешь все свои книги, там все свои ответы.
Построй из следующих книг: "Триумфальная арка", "Три товарища", "Возле ближнего". Перечислил его книжки. И на любой вопрос он должен не просто давать ответ, но также подкреплять свой ответ конкретной цитатой из книги.
Здесь мы напишем: "Привет, я писатель Эрих Мария Ремарк". Здесь мы регулируем глубину нашей беседы. Что это такое, я рассказывал немножко тоже в разговоре.
Выберем G4, создаём беседу. Вот она у нас уже создана. Я ещё загружу изображение, чтобы более похоже было на то, что нам нужно. Вот у нас получился креатив. Пусть будет у нас повыше. Вот наш писатель Эрих Мария, мы уже можем с ним работать.
Промт — это его роль, то, как он должен себя вести, как он должен отвечать, на основании чего. И в принципе, вспомните ещё те времена, когда была такая целая мода на промты. Были такие книжки записные, в которые все добавляли эффективные промты для каких-то задач.
Здесь вот из того, что я показал, у больших языковых моделей более экономно работают с английским языком. Но это также не принципиально важно. Всё, мы уже всё сделали, и всё готово.
Уже можно спросить Ремарка, например, вот по книге "Триумфальная арка". А там была такая цитата про любовь, которая не является зеркальным прудом, в которой можно вечно смотреться. Спросим об этом, что имел в виду Равик, рассуждая про любовь, которая не зеркальный пруд. Дай цитату.
Ну вот смотрим, нам отвечает GPT-4 Mini. А что мы видим? Он рассказывает, что в "Триумфальной арке" Равик размышляет о любви как о чём-то более глубоком. То есть он поясняет цитату.
Смотрим: "Любовь — это не зеркальный пруд. Это нечто большее. Это нечто, что мы создаём вместе, что требует от нас усилий и понимания друг друга". Я вам скажу об этом следующее: такой цитаты в этой книжке нет, потому что точное звучание цитаты: "Любовь — не зеркальный пруд, который можно вечно смотреть. У неё есть свои приливы, отливы".
И там дальше, дальше, дальше. То есть мы видим, что, несмотря на то, что модель очень большая, модель GPT-4 Mini — это практически ведущая модель мировая, но тем не менее она играет роль Ремарка.
То есть она взялась за работу, всё, она отвечает старательно, как бы близко к смыслу, но цитаты дать не может. И, ну, в итоге мы не можем работать с нейросетью полноценно.
И на самом деле это проблема у всех ассистентов с искусственным интеллектом, где бы они ни создавались. Вот, итого, у нас есть проблема: ни одна модель не может давать точные цитаты, чего бы мы ни запросили.
А это принципиально важно. Ну вот, например, если мы создаём юриста, да, вот юридическое право, оно настолько тонкое и сложное, что там даже важно, как подобраны слова в том или ином законе или там какой-то статье.
И если мы не получаем точных цитат, то мы не можем создавать полноценного ассистента, допустим, юриста, потому что это просто будут общие слова, это несерьёзно. И так, конечно, работа идти не должна.
Хорошо, ладно, допустим, он не справился, но я захотел, чтобы он всё-таки мог как-то, ну, всё-таки мог мне давать точные цитаты. Что мне для этого можно сделать?
Я могу попробовать загрузить в него документ. Когда я буду в него загружать документ, этот документ просто добавится к промту. И на самом деле этот промт просто станет очень большим. Большой промт — это всегда плохо. Сейчас расскажу, почему это плохо.
Добавил я также возможность добавлять большой промт, увеличивать его размеры. Вот в этих кнопочках здесь фактически я добавил редактор, в котором мы можем, как в Ворде, создавать.
Для чего это нужно? Для того чтобы, когда у нас вот такой вот маленький промт, который просто говорит о том, что вот такая вот роль у тебя, а проблем никаких нету. Но когда мы сюда начинаем загружать большие данные, а у нас возникает сложность поддерживания этих данных, а промт становится гигантским, и языковая модель начинает в ней путаться.
Об этом даже говорил директор, бывший директор Гугла. Сейчас я включу, как это. Эрик Шмидт его зовут. Вот это интервью.
И вот почему контекстное окно, по сути, можно использовать как кратковременную память. И я был потрясён, что контекстные окна становятся такими длинными, при обслуживании сложно вычислять и так далее.
Самое интересное в кратковременной памяти — это то, что когда вы даёте ей задание прочитать 20 книг, отправляя ей тексты этих книг в качестве запроса, а затем спрашиваете, что в них написано, она забывает середину.
А ведь именно так работает и человеческий мозг, что касается агентов. И сейчас есть люди, которые создают... Ну и так далее.
То есть что мы здесь должны услышать из его речи? Услышать мы должны следующее: он говорит, что мы, конечно, можем в этот промт добавить больше документов.
Можем. Вот я добавил. Тут ещё таблички, например. Зачем нужны таблички? Для того чтобы добавлять какую-то структурированную информацию, в отличие от текста, чтобы искусственный интеллект и ассистент могли работать с какими-то структурированными данными.
Но мы упираемся в проблему. Во-первых, проблема связана с тем, что контекстное окно не резиновое. Допустим, для вот этой модели GPT-4 Mini — 128 000 токенов.
Что такое токены? Это, ну, несколько символов, зачастую английского текста. А при этом русский текст всегда съедает больше токенов, чем английский.
Потому что все [музыка] токенизация токенов — это, допустим, не знаю, 80 000 каких-нибудь слов какой-нибудь книги. Для примера, я смотрел не по словам, по строкам. Могу сказать, вся Библия в текстовом виде, вот у меня есть, весит 10 мегабайт, и в ней 90 000 строк.
То есть вот для примера, чтобы понимать. Вот большая книжка, которую можно читать всю жизнь. Вот и можно, конечно, вставить нам сюда просто как документ, но проблема будет.
Вот та, о которой сказал только что бывший директор Гугла. Проблема в том, что большой промт работает плохо. Во-первых, если мы будем добавлять большой промт вот таким образом, это будет каша, и не понимает разделение блоков.
Потому что в большой информации там же есть главы, статьи, заголовки — это всё очень важно, и оно должно влиять на выдачу и на корректность ответа большой языковой модели искусственного интеллекта.
Вот для этого я сюда добавлял такую возможность, чтобы можно было работать с выделениями, с абзацами, с тем, чтобы текст можно было как-то разделять. И таким образом мы частично решаем эту проблему.
В итоге вот эта информация сохраняется в специальном формате MAR, называется. И после этого с такой большой информацией всё-таки уда работать.
Вот таким вот образом. Сейчас я покажу. Вот с левой стороны я добавляю информацию, допустим, про проект DVR, с правой стороны эта информация преобразована в специальный формат, который понимает искусственный интеллект, большая языковая модель.
Для чего я использую формат MAR справа? Для того чтобы большая языковая модель на вход принимала чистый текст. Мы не можем ему отправить там HTML, PDF. Некоторые люди думают, что отправляют, они отправляют не PDF, а извлечённый текст из этого документа.
Вот и вот эти данные, которые с правой стороны мы видим, они будут пониматься ИИ, корректно, информацию из любого кусочка. Но, как сказал опять же в показанном видео бывший директор Гугла, проблема возникает, когда у нас этот промт становится большим, большим, большим, большим.
Выпадают данные середины, мы добавляем какую-то информацию, а она спрашивает: "Не наш", и ассистент молчит, либо начинает гонить, как мы только что видели, у Ремарка, который придумал цитату, слюни её, которая не существует во всём его творчестве.
То есть в предыдущем моём видео мы решали проблему с большим промтом за счёт формата MAR. За это время я сделал целый инструментарий такой, который помогает промту профессионально.
Здесь мы можем добавлять, копировать источника, можем копировать любые данные. Сейчас какие данные? Там любой абсолютно сайт, даже отсюда. Там может быть просто копируем любой текст, любую информацию, скопировали и просто её вставляем сюда в свободном режиме.
Вот я вставил, она сразу же отформатирована, и здесь она также ставилась, но уже в том формате, в котором будет её понимать ИИ на входе. Если мы отправляем эту информацию в открытом виде, в виде промта, вот этой вот длиной контекстного окна, мы уже можем, допустим, здесь я сделал вот этот инструментарий.
Сейчас я покажу, как я на него перешёл. Вот здесь есть с левой стороны ключик. Если мы нажмём, мы перейдём вот в большой, вот в такой вот большой инструмент для работы с промтом, с промтом профессионально, создавая структурированные данные, понятные большой языковой модели искусственному интеллекту.
А здесь можем работать. Потом, если мы здесь в процессе работы, мы можем тестировать, выбираем нашу модель, задаём вопросы, он нам отвечает, допустим, там о тарифах. Допустим, тестируем.
То есть мы в нашем инструменте здесь имеем возможность сразу же всё это тестировать прямо на месте, не возвращаясь обратно сюда, а прямо вот здесь. Единственное, вот я сейчас тестирую.
Сегодня у нас почему-то сбоит немножко Google Gemini и GPT-4i. Большая нагрузка, видимо, на их сервера сегодня. Ну вот он ответил. Мы смотрим, что он прочитал наш документ и дал мне ответ, также разбил по категориям.
Я выбрал ни полтора ФШ. У неё 1 миллион токенов контекстное окно. Это, конечно, очень большое контекстное окно, больше, чем у GPT-4 Mini, у него 128 000.
И это то, про что говорил опять же бывший директор Гугла. Вот этот вот гигантский размер контекстного окна они добавили этой весной, а в мае они вообще пообещали 2 миллиона токенов.
Но от этого проблема не меняется, потому что как выпадали данные середины, несмотря на вот эти все технологии, очень крутые, там у них динг позиции и само внимание, да, оно по-прежнему работает не идеально.
И мы видим, сколько уже на данный момент съедает наш большой промт токенов. Вот 9402 токена съел мой вот этот вот промт. И вот чего он мне стоил, уже сколько я оказался должен за один вопрос.
Расскажи о тарифах, сколько я спалил уже денег. Здесь ищет, сколько отправлено, сколько получено, общая сумма. То есть мы, создавая здесь промт, можем очень чётко понимать, сколько мы будем тратить денег на то, чтобы пользоваться вот данной конкретной моделью.
Здесь я добавил и свои собственные модели, они развернуты локально, они полностью бесплатны, но у них не такая хорошая скорость, они не такие большие, потому что у разных моделей есть такое понятие, как веса, то насколько модель большая.
И вот эти модели локальные, они гораздо меньше, значительно в десятки, в сотни раз меньше больших моделей, таких как Google J или GPT-4 от OpenAI. Но зато они бесплатные, и пока я их отдаю бесплатно, пока нагрузка не очень большая, видеокарта выдерживает.
Можем использовать. Вот, ну, ответы, конечно, будут похуже. Мы можем выбрать там какую-нибудь ДМУ-2 маленькую с двумя миллиардами протестировать, как она ответит. Но я предполагаю, что она может ответить значительно хуже.
Вот сейчас посмотрим. При этом, опять же, смотрим. А вот она вообще настолько плохо ответила на английском языке, что-то попыталась. Э, в общем, никуда не годится, слишком маленькая.
Попробуем эту же модель Джема 2 выбрать с девятью миллиардами параметров и дать ей то же самое задание. Сейчас посмотрим, как отреагирует моделька побольше.
От этого же производителя уже даёт ответ, но мы видим, что она у нас не смогла дать ответ на поставленный вопрос, при том что ответ здесь есть по тарифам.
Вот в чём проблема. Проблема в том, что у этой модели Джема 2 9 миллиардов весов, у неё маленькое контекстное окно — 8192. А так как у нас вот здесь информации больше, мы превысили размер контекстного окна, она резала.
В итоге модель не смогла его обработать и забрала только 30 первых токенов из отправляемого материала. В общем, такая работа, конечно, никуда не годится.
То есть понятно, что с большим промтом маленькие модели вообще работать практически не могут. Можем ещё поэкспериментировать, взять что-то ещё побольше, например, 2 с 14 миллиардами весов. Это разработка китайская, по-моему, АБА её сделала.
Вот эту модельку сейчас посмотрим, ей надо время запуститься. Сейчас она запустится, загрузится, посмотрим, что она нам скажет и как она отреагирует.
Итак, мы пока ждём. Сейчас я просмотрю. А так, итого, у нас что получается? Какие проблемы? Промт большой — это дорого, это нестабильно. А то же самое не смог.
То есть как только моделька чуть меньше и промт большой, он теряет информацию, не может на неё ответить. Ну, GPT-4 Mini, допустим, сейчас протестируем.
Вот и путается, да, даёт неверную ненужную информацию. Вот GPT-4 Mini отработала, сразу же всё нашла, всё прочитала, всё выдало, всё, проблем никаких нету.
То есть чем больше, конечно, модель. Опять же, видим, сколько у нас эта модель съела денежек. Всё, сразу можем оценить, если есть превышение ширины контекстного окна.
Вот это всё окошко станет красным. Я сделал для того, чтобы модель явно говорила о том, что есть проблема, и её нужно решать.
А какая ещё проблема? Смотрите, вот когда у нас много информации, здесь, а мы добавляем всё обо всём, всё на свете, если проект большой, допустим, или какой-то у нас ассистент сложный, то мы о каждом проекте рассказываем.
А это всё на самом деле гоняется в каждом запросе. То есть вот сколько мы будем писать нашему ассистенту, столько будет гоняться весь наш вот этот промт, тот большой промт.
Вот, например, вот то, что я сейчас показывал. Я сейчас могу добавить в нашего ассистента. Как это можно сделать? Я могу нажать на робота.
Вот мы создали Эриха Мария, добавить. И сейчас этот промт уже отправлен сюда. То есть если сейчас проверю, я вижу, что в нём вот здесь появилась галочка.
Если мы откроем, то мы увидим вот этот вот большущий промт. И теперь наш ассистент работает не только с вот этим вот описанием роли, но и с большим, большим, большим промтом.
Я корректирую беседу. А, например, спрошу ещё по "Триумфальной арке". А расскажи, кто такой Равик. Подождём, посмотрим, что он ответит, а потом покажу, как это выглядит внутри, когда это всё отправляется в большую языковую модель.
Вот дал он мне ответ, всё хорошо, всё в порядке. Сейчас я нажму сюда, и есть у нас здесь такая ссылочка — анализ.
Анализ показывает, какая информация отправилась в нашу модель GPT-4 Mini. Вот наше описание, которое мы описывали в начале, вот наш начальный промт.
А дальше присоединилась информация из того файла, который мы загрузили. И смотрим, сколько информации туда идёт. То есть уже большой кусок.
Большой. Вот мой вопрос, который я задал, и вот мой ответ, ответ от модели, которую я получил. В итоге, а вот здесь вот я получил ответ, и здесь от модели я получил, сколько токенов сожжено, сколько средств потрачено.
То есть вот эту всю информацию можно контролировать. Но проблема в чём ещё? Проблема в том, что, во-первых, сколько бы я ни писал сейчас нашему ассистенту, снова и снова, ассистенту будет отправляться вот этот здоровенный файл, который фактически и не всегда то нужен.
Потому что здесь рассказано буквально про всё. При этом мои вопросы, допустим, могут касаться только очень малой части от того, что я сюда добавлял. И это проблема.
Это дорого, это вызывает путаницу, потому что частично информация может выпадать, как я показывал там предварительно. Поэтому понятно становится, что нужно какое-то другое решение.
Сейчас я покажу, как это работает. То есть вот, допустим, таким образом показана общая схема отправки запросов в модели искусственного интеллекта Chat GPT-4 Omni.
А у него есть специальная переменная, как бы ячейки. В первую переменную мы отправляем наш промт, присваиваем нашу роль и добавляем все документы, которые нам нужны.
А дальше мы отправляем уже всю нашу беседу с искусственным интеллектом, с нашим ассистентом. Здесь всё, что написал пользователь, всё, что ответил ассистент в ответ.
Следующее сообщение — что это и для чего это нужно? Это нужно для того, чтобы в процессе общения мой искусственный интеллект понимал, о чём мы с ним беседуем.
Чтобы он не здоровался со мной каждый раз снова и снова. Я ему написал "привет", а он, если он раньше со мной здоровался, то он не должен здороваться повторно.
И если раньше мы какую-то тему обсуждали, он должен помнить эту тему. Но как таковой памяти у него нет. Поэтому при каждом запросе вот это отправляем.
Вот это, допустим, да, большой какой-то документ. Сюда можем загрузить документ, сюда можем документ просто. Здесь отличие.
Вот здесь мы просто документ загружаем, вордовский, допустим. А здесь мы можем корректировать любой момент и таким образом поддерживать актуальность данных.
Ну понятно, сюда можем добавлять ещё таблички какие-то с какими-то прайсами, ещё что-то. Я здесь ещё добавил ещё одну вещь — это возможность добавления ссылок на сайты.
Вот вставляем любые ссылки на любую страничку нашего сайта, и он будет запрашивать информацию ещё из этих страничек сайта. Чем это хорошо? Тем, что если у вас есть такие странички, которые часто меняются, и вам нужно актуальные данные, и вы не хотите вручную где-то эти данные периодически вносить, то вот это решение, вот это ссылочное, оно позволит вам автоматически отслеживать.
Пока я дал возможность три странички любого сайта могут отслеживаться искусственным интеллектом вашего ассистента в реальном времени. Это очень удобно.
Посмотрим, развивать пока это. Всё в тестовом режиме работает. Вот что у нас получается. Итого, у нас есть проблема. Да, я уже много назвал причин этой проблемы.
Это и стоимость, и плохая работа, и сложность поддержания данных. И итоговая цена на промт, кстати, опять же, по каждому запросу. Вот мы смотрели, да, заходили в анализ, смотрели, что у нас куда отправилось, как оно выглядело, какой его размер.
Обм тоже самое. Это быстрый инструмент. Он показал, что у нас в этой модели 128 000 токенов контекстное окно. Ширина отправлена у нас уже 10 316 токенов в одном запросе, получено 591 токен.
И вычитаемое. Мы не работаем вслепую, мы видим, сколько модель тратит наших средств и контролируем этот момент в любое время.
Ну вот и всё. То есть вот проблема меня очень долго беспокоила, потому что как двигаться дальше, как развивать ассистентов, как делать надёжные, хорошие ассистенты и вообще работать с искусственным интеллектом, если у нас такие большие проблемы.
Ну и одним из решений этих проблем является технология векторная, технология встраивания. Кстати, вот я когда ещё разбирал документацию чата GPT от OpenAI и смотрел их все модели, которые они дают, я обращал внимание, что у них есть интерес.
Вот такие вот, что это за модели вообще непонятно, зачем они нужны. Сейчас я расскажу, зачем они нужны, как это всё работает.
Скажу следующее: мы привыкли, что искусственный интеллект общается с нами словами. И когда мы создаём МТ, мы отправляем в виде промта слова на русском языке, на английском языке.
Если мы загружаем документы, это всё равно текст. Откуда бы он ни извлекался — с загруженного или с какой-то базы, какой-то своей или с таблички, или по ссылкам, методом парсинга — неважно, всё равно идёт в искусственный интеллект, в большую языковую модель.
В трансформер идёт чистый текст. Но на самом деле внутри искусственный интеллект работает иначе. Вот многие знают, что я сейчас опять же упоминал, что есть разные модели, они разного размера.
Есть большие модели, допустим, GPT-3.5 Turbo, которая была первой из популярных моделей OpenAI. У неё 175 миллиардов параметров, если я не ошибаюсь.
Вот модельки, которые доступны бесплатно, которые я развернул на сервере, на собственном сервере, на видеокарте. А у этих моделей, вот 9B — это 9 миллиардов, 22 миллиарда в Мистрали и меньше. Чем меньше, тем хуже она работает.
Так что такое вообще сами эти веса? Почему чем больше и крупнее модель, тем лучше она работает? Дело в том, что в процессе обучения любая большая языковая модель перерабатывает огромный массив информации.
И этот массив информации она как бы впитывает в себя, вырабатывая вот эти все свои суждения, рассуждения, обучаясь, анализируя, сопоставляя. И фактически любая нейросеть, на самом деле, языковая — это не источник знаний, это не поисковая система, а это статистический анализатор данных.
То есть всё, что она делает, это предсказывает слова, исходя из того, на каком объёме данных она обучена. Исходя из этого у неё возникает способность угадывать смыслы, предсказывать смыслы.
То есть мы помним, да, что большие языковые модели — это тот же самый Т9, который предсказывал слово, только сейчас он предсказывает не слово, а целые абзацы. И всё это работает, на самом деле, внутри за счёт вот этих весов.
А веса — это фактически динг-беддинг, встраивание — это специальные вектора. Сейчас я покажу, что это такое. То есть вот мы просмотрели, что оказывается, OpenAI используют ещё некие модели. Вот они такие вот интересные.
Зачем они нужны, непонятно. Одни из параметров этих моделей, которые они указывают, это их мерность. Мерность — что такое мерность? А сейчас расскажу, сейчас расскажу и даже покажу.
Сейчас я открою. А мы знаем, что мы живём в трёхмерном пространстве, которое мы способны воспринимать. Есть одномерный мир, допустим, это линия. В номерном мире, если бы жил какой-то персонаж, он бы мог сдвигаться только по одной линии влево-вправо, допустим, если это однородный мир, допустим, X.
Да, есть двумерный мир — это уже мир плоский. Да, вот мы знаем мультик, вспоминаем нарисованные мультяшные персонажи на плоскости. Получается, в двухмерном мире он состоит из бесконечного количества одномерных пространств.
Ну и все знают трёхмерное, да, представление XY. То есть благодаря ещё одной мерности мы получаем совершенно другой опыт. У нас уже есть там высота, ширина, глубина. Мы способны на вот это трёхмерное восприятие.
Ну и это, в принципе, всё, на что мы способны. Да, вот 3D, 3D представление. То есть фактически это что такое? Это мерность — это ортогональные вектора, которые всегда перпендикулярны друг другу.
И на основе этого мы выстраиваем некие пространства, и всё, что мы способны воспринимать, фактически строится, состоит из неких точек в этом мерном пространстве. А вот они здесь показаны.
Так вот, что я могу интересно вам рассказать по этому поводу? Дело в том, что как сама нейросеть, большая языковая модель, так и нейросети для специализированные, вот эти динг-беддинги, когда обучаются, то есть, например, вот большая языковая модель обучается, перерабатывая огромные массивы данных.
Она их превращает в специальный формат. Вот как формат этот выглядит на этом экране, я показал, как выглядит в одной из таких моделей слово "привет".
Посмотрите, вот я написал слово "привет", и оно выдало мне огромный массив каких-то странных данных. Да, что это за данные такие? Выглядит реально пугающе.
На самом деле всё, что сделала ИИ, она превратила моё слово в точку в мерном пространстве. Вот в данном примере я использую нейросеть, которая оперирует мерным пространством. Представляете?
То есть модель настолько много знает о мире, или в процессе обучения модель вырабатывает для себя некое мерное восприятие.
Ну, для примера, простой пример: там яблоко. Да, у него есть параметры с человеческой точки зрения. У яблока есть там размер, цвет, вес, вкус, кислый, сладкий, целый ряд параметров, которые мы описываем словами.
А нейросеть же все объекты в мире превращает в некие векторы. Вот эти вот, как X, Y, Z, только она строит вектор там, вектор вкуса, вектор цвета, допустим, да, условно, потому что точно никто не знает, как она это делает.
Я не нашёл никакой понятной информации о том, как фактически нейросеть строит вот эти мерные вектора у себя внутри в процессе обучения.
А и вот мы получаем тогда, то есть фактически веса нейросети — это просто огромные массивы вот таких вот данных. То есть всё, что она обучает, всё, что она воспринимает, она потом записывает в итоге в такие координаты.
Вот, например, я сейчас покажу, как я делаю при загрузке книги. И вот в технологии РАК, о которой я сейчас расскажу, данные разбиваются на блоки, называются чанки. Каждый этот блок шифруется в специальную.
Вот это представление Bing. И таким образом все эти данные потом вписываются в специальную базу данных векторную, которая умеет оперировать и работать вот с этими данными.
И мы видим, что в этом примере, где я слово "привет" написал, мы здесь получили такой объём текста, текста цифр. Вот этих вот, что здесь, здесь уже не одно слово "привет", а здесь целый кусок текста.
И он уместится в такого же размера блок. Здесь, потому что если мы оперируем и работаем в мерном пространстве, нам неважно, какой объём информации мы должны загрузить в неё.
Потому что в итоге всё равно всё превращается в точку. Фактически вот эти все цифры — это, вспомните, да, точка в трёхмерном пространстве XYZ. То есть мы тремя цифрами задаём точку в этом пространстве.
Так вот, здесь 1224 точки, не точки, а координаты этой точки. И, ну, кажется, это просто какое-то безумие, да? На самом деле, опять же, у каждой такой нейросети, которая работает с встраиванием, у неё есть также контекстное окно ширина.
Вот, например, я не могу в неё встроить, вставить слишком большой кусок просто, потому что она не поддерживает большой контекст. Обычно вот эти нейросети встраивания, они вот 88 000, примерно 190 токенов себе могут вмещать.
А так как мы работаем с русским текстом, мне здесь пришлось подстраховаться. Есть специальная формула, по которой можно пересчитать реально расходы токенов для русского текста.
Кроме того, когда мы работаем, ИИ шифрует, это всё разбиваем на вот эти чанки. Нам нужно ещё, чтобы каждый кусок текста перекрывал один другой.
То есть чтобы было некое накладывание одного кусочка текста на другой кусочек текста. Потому что когда мы потом будем извлекать эту информацию, текст должен быть связанным.
В итоге, и сразу же параллельно расскажу, что такое квантование. Да, многие уже слышали, что вот многие модели, вот допустим, вот эти, опять же, модели, которые я показывал, маленькие модели, за счёт чего они такие маленькие.
Вот мы видим, что здесь есть Джема 9 миллиардов параметров, весов. А также есть Джема 2 миллиарда. И работают они по-разному. 2 миллиарда работают гораздо хуже.
Почему? Хотя изначально у них у каждого быстрее всего был один и тот же предок. Что сделали те люди, которые пытались сделать эти модели более компактными? Они более компактные.
Они, конечно, хуже, чем большие модели, работают, но они тратят гораздо меньше ресурсов. Если я GPT-4 Mini никогда в жизни не запущу на одной видеокарте, а там работают их там десятки, сотни, то вот такую модельку я запускаю спокойно на видеокарте средней ценовой категории, и она работает, получая собственный автономный, как бы, искусственный интеллект.
Так вот, как это происходит? Как осуществляется квантование? Квантование сводится к тому, что вот мы видим, да, а вот у нас одна из координат, там 1.2, четырёхмерная координата, координата, один из параметров этой координаты, вот такое вот большущее, большущее число.
Да, так вот, квантование сводится к тому, что у этих весов отрубается вот эта вот точность. То есть мы, допустим, всё сводим, допустим, к десятым или сотым значениям каждого числа.
В итоге веса становятся многократно меньше. Но вот эти точки, которые мы видим здесь, они как бы размываются. Они, как блюр, да, то есть они становятся неточными, не совсем точными.
И опять же по этим точкам я сейчас расскажу, зачем они вообще, зачем и как это вообще всё работает. В общем, мы уже поняли, да, что и в процессе обработки текстовой информации, и неважно, даже не обязательно текстовой, он может обрабатывать другую информацию.
Это могут быть и фотографии, и аудио, любая информация. В итоге он приводит её к некой своей собственной системе в мерном пространстве и строит на этой системе вот такие вот некие точки.
Так вот, что получается? Получается, что разные объекты группируются в схожих областях. Что имею в виду? Например, там добро, тепло, привет, благость.
То есть, например, какие-то положительные вещи будут в одной точке, какие-то негативные, там зло, какие-то убийства, там ещё что-нибудь. Ну, я для примера очень грубо, они будут где-то в другом месте.
В итоге находиться вот в точках координат в некотором другом пространстве, и они будут как бы группироваться. То есть схожие по семантике, по смыслу явления будут находиться недалеко друг от друга.
Так вот, вся работа языковой модели основана на том, что в итоге в процессе генерации она с огромной скоростью находит ближайшие смыслы к тому смыслу, который мы ввели.
И на этом основана вот эта технология РАК, да, которую я сейчас представлю, и который в конце видео об этом вы уже сможете этим пользоваться. Посмотрите, я уже это выложил в свободный доступ, можете пробовать.
В общем, как вы поняли, что сюда можно загнать любой текст, этот текст будет представлен в виде точек, эти точки разбиты по семантике. Вспоминайте, как мы раньше искали информацию в Ворде, допустим, да?
У нас есть некий текстовый документ, нам нужно найти какую-то информацию в нём. Мы нажимаем "поиск" и ищем в этом поиске. Вот, например, здесь я ищу, допустим, нажимаю "поиск", и дальше я уже двигаюсь, смотрю, где вот эти все они выделены и просматриваю их.
Таким образом был устроен поиск раньше везде. Но, допустим, есть же слова-синонимы или вот какие-то, то есть мы можем, например, в тексте может не содержаться нужного слова, но при этом этот текст может описывать то явление, которое нас интересует.
Согласно нашему запросу, это называется поиск. Так вот, принцип этого семантического поиска основан на том, что и вот этот механизм поисковый, который находит закономерности, он очень быстро находит ближайшие точки.
Эти точки высчитываются как косинус угла между расстоянием, косинус угла между векторами. То есть там несложные формулы, есть несколько подходов, там очень всё сложно, когда читаешь, там евклидово пространство.
ВС — это для математиков. Просто для того, чтобы это понимать, достаточно понимать, что есть некоторые точки, эти точки представляют из себя смыслы.
Смыслы взаимосвязаны за счёт того, что в математической модели трансформера эти точки всегда находятся недалеко друг от друга. Чем ближе смыслы какой-то информации, тем ближе точки находятся, и тем легче их найти.
И поэтому, когда генерируются токены, на самом деле они генерируются, исходя из вот этих вот смыслов, которые были найдены по нашему запросу.
Итого, сейчас я попробую сейчас рассказать, как теперь всё это работает. А так это работало в процессе обучения больших языковых моделей, в некоторых внутренних механизмах, в процессе работы. [музыка]
Токенизация, я сейчас рассказал, вот есть векторизация, и данные хранятся внутри. Модель думает вот этими параметрами, она думает в мерном пространстве.
Поэтому тут начинаешь задумываться, да, что, а когда уже я сейчас слышу для себя, что вот мир возник из некой точки, а некий взрыв с очень маленькой точки.
И сейчас мне это немного легче поверить, потому что я сейчас прекрасно понимаю, что любую информацию можно вместить в точку, если эта точка работает достаточно в пространстве, достаточно высокой мерности.
Вот, то есть если мы видим сейчас, что ИИ работает, и она оперирует мерными пространствами, допустим, у OpenAI, они оперируют вообще 372 мерно пространство создания системы.
Чем больше мер, тем точнее получается семантический анализ данных. Если это уже работает фактически, то нет причин не верить в такую возможность суперкомпрессии, когда любые данные можно вмещать.
И любую информацию, для примера, даже 1224 мерное пространство может содержать столько информации, сколько не содержится атомов в нашей Вселенной. То есть там числа с 200 и более нулями, они не осознаваемые человеком.
И при этом всё это работает, и это удивительно. Поэтому для меня в процессе работы с ИИ открываешь некоторые вещи, пересомневаешь.
И многие вещи являются просто открытием. К чему я всё это рассказываю? На самом деле свести можно теперь к очень простой идее. Если и хорошо работает языковая модель за счёт вот этой технологии работы с векторами, почему бы нам сейчас не использовать эту технологию для работы, для того чтобы закидывать туда данные большие?
Да, зачем нам забрасывать эти данные в промт вот сюда и гонять их туда-сюда, когда мы можем использовать такой же самый подход, сделать такие же вектора, такую же базу данных векторную и её прикрепить к нашему искусственному интеллекту?
И я это сделал. Работа была непростой, потому что я для себя это тоже открывал в первый раз в жизни, всё делал в первый раз, проходил этот путь.
Что я сделал? Я сделал возможность добавлять данные в векторе, который содержит структурированную информацию, понятную, простую для ИИ.
А здесь оно показывает, что у нас ещё нет баз данных и предлагает создать. Мы переходим в специальный инструмент. Инструмент вот он здесь. Мы уже были здесь.
Вот здесь мы работали с markdown форматом для больших данных. Вот я сейчас нажму, перейду. Вот то, что мы здесь находились, сейчас я нахожусь вот здесь, в векторной базе данных, и мы можем приступить к созданию баз данных.
А в начале ролика этот ролик очень тяжёлый. Я прошу прощения, что он такой тяжёлый, сложный, много слов, но я хочу один раз просто и понятно, по возможности, объяснить, как это всё работает, и больше мы к этому возвращаться не будем.
Будем пользоваться просто технологией, не вдаваясь уже так глубоко. В общем, я сделал визуальное оформление для того, чтобы вы, не вдаваясь в сложности, могли создать свою собственную векторную базу данных, которые внутри содержат вот эти вот все волшебные вещи.
Сейчас я покрываю, потому что уже тут путаница. Что вам нужно сделать? Нажать на кнопку "создать базу данных". Я буду создавать базу данных для уже созданного нашего персонажа Эриха Мария Ремарка.
Поэтому я создам базу данных "База для Ремарка". Ну и описание здесь будут книги Ремарка. Сохраняю как-то базу данных. Яхни с левой стороны количество баз данных ограничено. Пока всё работает в тестовом режиме для бесплатных тарифов — это одна база данных и несколько книжек.
Можно добавить для тарифов повыше несколько баз данных, и книжек можно в каждую базу данных загрузить больше. Сейчас мы будем загружать книги.
Сейчас я найду, перейду, где у меня книги лежат. Так, библиотека. Так, это у нас Тесла. Мы работаем сейчас с Ремарком. Вот у меня есть книжка Ремарка "Триумфальная арка", которой я спрашивал в начале.
Я её загружаю. Ожидаем. Ника, не очень маленькая, чтобы всё загрузилось. В данный момент что сейчас происходит? Книга загружается на сервер, дальше эта книга отдаётся специальной нейросети, которая превращает, разбивает её на кусочки.
Вот то, что я показывал, вот здесь, на такие вот кусочки, превращая её в вот такие вектора. Дальше эти данные все записываются в саму векторную базу данных, и эта векторная база данных уже будет работать совместно с нашим искусственным интеллектом.
Всё, мы загрузили "Триумфальную арку". Здесь рассказывал, мы можем сразу же тестировать, можем спросить, например, мой предыдущий вопрос: "Что имел в виду Равик, рассуждая про любовь, которая не зеркальный пруд?"
Отправим, посмотрим, что получится, насколько я удачно, конечно, здесь сформулировал. Ну, посмотрим. Смотрим, что нам даёт.
Несе теперь: "Любовь — не зеркальный пруд, в который можно вечно смотреться. У неё есть переливы, отливы и обломки кораблей, потерпевших крушения, и затонувшие города, осьминоги, бури".
То есть вот вся красота, которая была у Ремарка, да, сейчас она доступна ИИ. Во-первых, теперь он дал точную цитату, выделив.
Мы опять же видим, сколько токенов съело. Смотрим, что токенов теперь съедается гораздо меньше. И здесь я вывел для того, чтобы вы тестировали и видели, как это работает.
База данных векторная нашла по смыслу, не по точному текстовому совпадению, а по смыслу, нашла четыре чанка. Вот то, что она нашла.
При этом она, которые наплывают один на другой, есть вот эти кусочка из своей базы данных, она их склеивает. Вот мы получаем связанные тексты и дальше их использует как материал для корректных ответов и цитирования.
Как я рассказывал, вот показывая вот эти вот точки, она высчитывает расстояние между ними. И чем ближе расстояние, тем оно больше стремится к единице.
То есть мы видим, что похоже с моего запроса на точное соответствие составляет 0,79 расстояние между точками. Ну, также высчитывается ещё ранговой текста.
Вот чем ближе к единице, тем точнее совпадение. И вот, в принципе, всё чудо, которое и требовалось получить.
Дальше, как я показывал, вот здесь вот мы нажимаем на голову этого робота, выбираем, куда мы отправим эту базу данных, и отправляем. Всё отправлено.
Если мы сейчас [музыка] перегрузим, уже стоит напротив базы данных. И вот мы видим, что база для Ремарка, которую создавал, содержит один документ, и оно уже всё подключено.
Этот документ, который я загружал большой, я вообще удалю, чтобы он вообще не сбивал, он нам сейчас не нужен. То есть я удалил, нажал "сохранить", галочка исчезла.
Всё, смотрим. Теперь убираем вот это вот всё, удаляем предыдущий материал, перезагружаем. Вот прошлый мой запрос: "Что имел в виду Равик, рассуждая про любовь, которая не зеркальный пруд? Дай цитату".
И он здесь, несмотря на то, что эта модель большая, GPT-4 Mini, передовая, он мне сфабриковал цитату. Теперь я возьму, нажму карандашик и переотправлю это же самое задание.
Вышлю ему ещё один раз, но теперь у нас подключена база данных векторная. Вот она для Ремарка. А смотрим, что, во-первых, его ответ стал короче, чётче.
Он дал точную цитату и разъяснил эту цитату. Согласитесь, это же прекрасно. При этом, если мы посмотрим, сколько мы сожгли токенов, мы сожгли 4953 токена.
В отличие от тех размерностей, которые мы объёмов, которые мы отправляли, если бы мы эту книгу загрузили вот сюда или вот сюда, то есть в виде файла прикрепили, допустим.
А вот такая вот у нас получилась красота. Что ещё хотел сказать? Сейчас ещё раз покажу.
Итого, как всё у нас работает, вся технология сейчас с этой базой данных. Вы можете делать и другие базы данных, создавать, вставлять.
Можно как здесь, как я делал, на робота нажимаю, выбираем, куда мы отправляем, какого своего ассистента, и оно отправляется, прикрепляется.
Так и здесь открываем, асинхронно будет, сколько баз. Мы создали, столько они будут отображаться. Просто выбираем их, корректируем, и всё работает.
Закрываю, чтобы не отвлекало. Итого, в наши документы были в момент загрузки переведены в специальный, отправлен модель.
Это тоже ещё одна модель искусственного интеллекта. Она преобразовалась. Запрос искусственному интеллекту, этот запрос опять идёт в эту модель искусственного интеллекта, которая превращает его текст в такой же вектор.
Этот вектор ищется по базе данных, находится максимально похожая чанки векторов из документов, предварительно загруженных. Но в ответ мы получаем чистый текст, текст этих блоков, которые были векторизованы.
Этот текст дополняется, подмешивается, то есть наш сам запрос сюда добавляется, и уже результат поиска в векторной базе данных, семантический результат, добавляется, подмешивают к этому же запросу.
Этот запрос идёт уже в большую языковую модель, получаем ответ. То есть всё, в принципе, просто. Теперь всё понятно, как работает, ничего сложного, страшного нет, как оказалось.
В итоге схема простая, всё логично и понятно. Кроме того, вот в эти точки можно загружать не только текст, как я говорил, аудио, любой материал.
Вплоть до того, вот как в фильмах, да, про будущее, когда мы смотрим, идёт некоторый какой-то персонаж, заходит в лабораторию, у него сканируется сетчатка глаза, початке глаза, этот пользователь узнаётся, ему открывается дверь.
Или, например, прикладывает ладонь, сканируется, допустим, сеть вен с ладони. Вот это всё на самом деле для ИИ, это тоже вектора, и имея свою модель векторизации, вот модель, мы можем точно также на этом же сервере, на этой же технологии создать базу данных вот этих всех параметров.
Например, то есть фотографии зрачка, не зрачка, сетчатки глаза или там венозные изображения, схемы вен на руке и сделать систему доступа контроля, прямо как показано в фильмах про будущее.
Потому что сейчас это не проблема. Многие из нас думали, как же, например, есть поисковые системы, которые ищут по фотографиям. Как это так? Они находят по фотографиям, особенно когда загружаешь фотографию, оно находит похожее.
Так вот, принцип в этом. Все фотографии превращаются в точки, векторы. Эти точки потом осуществляется поиск по расстоянию, косинусное расстояние между точками, и данные выводятся.
В итоге мы можем, например, найти похожих на себя людей только потому, что, допустим, существует некоторая база, в которой люди загружают свои фотографии.
Эта база хранит информацию в векторных данных в виде вот этих вот массивов из чисел, и тогда всё это будет работать. И тогда это всё не кажется волшебством, потому что это уже понятно и просто.
И здесь уже нет ничего такого, чего мы не могли бы осознать. И отталкиваясь от этого, я прогнозирую, что будут работать с большими данными.
Так вот, ближайшее будущее будет состоять в том, что эти данные начнут постепенно иммигрировать в векторное представление, и появятся такие вот агрегаторы или как бы хостинг.
Вот как все знают, да, вы когда сайт содержим, поддерживаем, оплачиваем, мы оплачиваем работу сервера, на котором он лежит. Также и вся информация, которая там хранится.
Так вот, в ближайшем будущем понадобятся новые площадки для хранения векторных данных. Вот и это новое направление, которое сейчас будет развиваться.
Что сейчас, этой системе мы ещё получили. Сейчас ещё раз последний момент я расскажу. Смотрите, так как нам сейчас не нужна, так как нам сейчас не обязательно иметь супер большую модель для того, чтобы она всё на свете знала и съела весь интернет в процессе обучения.
А мы уже ей докидываем информацию, видя своей собственной базы данных, которые мы загружаем свои книги, то нам уже не обязательно использовать гигантские вот эти модели.
Мы всегда используем за деньги, данные уходят на другой континент, в США, где-то там хранятся или анализируются, мы не знаем, что с ними происходит.
Сейчас можно использовать свои модели локально, вплоть до того, что если есть предприятие, мы автоматизируем там процессы, мы можем ставить сервер автономный без внешнего интернета, внутри предприятия загружать всю документацию на этот сервер, и всё будет работать.
При этом нейрон можем запускать. Опять же, вот локальная моя, допустим, вот эта китайская. Я сейчас добавлю, ещё раз на ней поработаем, бесплатная модель.
Корректировать, переотправить запрос, чтобы эксперимент был чистым. А вот, пожалуйста, то есть моделька ответила.
А теперь я её попрошу: "Объясни мне значение этой цитаты". Немножко медленно печатает. Вот эта скорость зависит от мощности видеокарты.
Видеокарта пока одна, поэтому не всегда быстрый ответ. То есть мы видим, что даже маленькая модель, модель Джема 2 от компании DeepMind, от команды с 9 миллиардами параметров всего-то, потому что напоминаю, ещё раз, у GPT-3.5 Turbo 175, по-моему, миллиардов параметров, у GPT-4 около, по-моему, 450 миллиардов.
А здесь малюсенькая Джема 2 с 9 миллиардами дала нам корректный ответ. Ничего не галюзонировать.
Что это говорит о чём? Это говорит о том, что мы можем разворачивать теперь умное решение автономно у себя на сервере, где бы мы ни находились. Вот у меня прямо здесь, в моём кабинете рабочем, на любом производстве.
И мы также можем выступать как хостинг для ИИ, предоставляя его различным компаниям, а также храня информацию у себя.
Последнее, что я хотел ещё сказать, сейчас всё это очень сильно развивается, технологии развиваются. А все очень на хайпе, все создают что-то, тех же ассистентов создают.
Но проблема в том, что очень многие люди писали под моим видео: "А чем лучше того же сервиса ко другим серверам, которые работают с ассистентами?" Я объясню, чем законодательством, законностью.
Дело в том, что на текущий момент почти во всех странах есть законодательство, регламентирующее хранение информации, работа с персональными данными.
Для того, чтобы персональными данными, данные должны располагаться на в центре обработки данных, в ЦОДе, и компьютер, на котором всё это хранится, должен иметь статус ЦОД.
А специалисты, которые работают с этими данными, должны быть квалифицированными. И по законодательству, например, страны, в которой я живу, в Беларуси, такие люди должны проходить специальное обучение.
Они даже называются операторы по работе с персональными данными. И сейчас по закону, вот я знаю, что и в Российской Федерации хранение данных, каких материалов, допустим, если вы компания и хотите сделать ассистента своей компании, для того чтобы улучшить процессы, автоматизировать, и вы загружаете свои документы, данные в тот же Chat GPT, классический стандартов GPT, да, создавая себе ассистента, вы таким образом нарушаете закон.
Вы не можете хранить эту информацию удалённо, располагая их на серверах в США или в каких-то ещё облаках, потому что любые облачные вот эти хранилища — это некие сервера, чаще всего это сервера в Америке.
И сейчас законы массово разрабатываются в эту сторону, будет всё становиться строже. Поэтому решение, которое я сейчас показал, локальное решение, оно ещё хорошо тем, что мы не нарушаем закон, и мы можем располагать информацию и иметь свой искусственный интеллект локально по месту, по месту работы нашей компании, нашего предприятия.
Для компании, для какой-то организации купить мощную видеокарту и поставить такой сервер, нежно, не является большой проблемой.
Сейчас то, что я сейчас показал, DVR в данный момент — это проект, над которым я работаю как энтузиаст, бесплатно, без извлечения прибыли, просто потому что это перспективно, и это нужно развивать.
Сам сервер, вот этот с искусственным интеллектом, с видеокартой, зарегистрирован в белорусском ГИА как центр обработки данных, он сертифицирован, и на нём можно хранить информацию.
То есть, например, даже располагая данные в DVR, вы не нарушаете закон, если вы работаете там в Беларуси, России, Украине, там страны СНГ, а смотря какое у вас законодательство.
Но вообще в конкретном случае при работе с DVR эти данные хранятся правильным образом. Вот, ну вот на такой вот ноте буду завершать.
Буду завершать вот эту нашу сегодняшнюю прогулку по технологиям. А за сегодня мы разобрались, как работают большие языковые модели, что у них происходит внутри, как они думают, как происходит выдача и подбор информации, как происходит внутренний семантический поиск.
Теперь вы знаете гораздо больше. Теперь вы можете работать профессионально. Вы имеете инструментарий. Все ссылки будут даны под этим видео.
Вы можете работать. То есть теперь, когда вы готовите, например, книги для загрузки в векторную базу данных, в векторную базу данных, ещё раз, вот что я не сказал, ещё важный момент один, чуть не забыл.
Когда вы загружаете данные в вектор, здесь уже наш markdown, который мы в прошлых видео создавали, не подойдёт, потому что формат markdown за счёт вот наличия вот таких вот символов, он создаёт шум.
Он создаёт шум в нашей базе данных. Сейчас перейду, зашумят её. Поэтому нам нужен чистый текст.
Поэтому я здесь сделал ещё вот такой раздел, где мы любую информацию переводим в чистый текст, загружаем любые документы, HTML, копируем сюда, туда, получаем чистый текст, скачиваем туда, загружаем, либо закидываем сразу вот таким вот образом через вот этого вот робота.
Вот, в принципе, всё. Если у нас структурированная сложная информация, мы делаем её в виде таблицы. Вот наша табличка, вот как её видит, и он понимает эту структуру.
Можно делать в виде MAR, можно делать в виде CSV. Вот тогда вот такой формат. Но и тогда должен знать, что таблица в формате CSV обязательно перед этой информацией должна быть объяснительная надпись.
Всё, в принципе, я надеюсь, что всё рассказал. Очень много времени потратил на саму технологию.
Опять же, ещё раз, секундочку, ещё одну вещь расскажу. Очень важная вещь, что мы должны вообще загружать, что мы должны загружать вообще в вектор, в эту базу данных.
Как теперь понять, вот у нас сейчас есть целая куча полей. Сейчас я покажу наши поля. Целая куча полей у нас, и сюда мы можем что-то писать, документы можем загружать, и сюда таблицы, что-то можем ссылки вставлять.
Какую информацию нужно загружать? Очень простое объяснение. Вот у меня в руках есть инструкция, инструкция к пылесосу.
А сейчас покажу. Это у нас моющий пылесос от Керхер, и она просто вот исписала вот различную информацию тут и как эксплуатировать, и как работает, и устранение неисправностей.
И эта информация, если бы мы её гоняли в промте, мы её загнали, допустим, мы создавали бы эксперта по консультациям для пылесосов Керхер, нам бы это всё, если бы мы загнали это в промт просто как документ, это были бы гигантские данные.
При этом они всё время гонялись бы туда и обратно, в холостую. Так вот, такую чёткую информацию, которая не меняется практически, вот она статичная, она прописана для какой-либо области, эта информация чёткая, ясная, мы её добавляем в векторные базы данных.
То есть мы её загружаем. А вот сюда информацию, которая описывает роль, какую-то быстро меняющуюся информацию, которую нужно держать актуальной, мы добавляем сюда или сюда, или сюда, добавляем в эти вот ячейки, вот сюда, например.
И также можем как бы размещать у себя на сайте и просто ссылаться вот этими вот ссылочками. Вот, в принципе, и всё.
Последнее, что ещё хотел рассказать, это ещё два новшества, которые добавились в конструкторе ассистентов. Очень много людей уже работает в этом конструкторе, на котором я всё это показывал.
Сейчас ещё появилась такая функция, как рисование изображений. "Нарисуй девушку". То есть мы видим с огромной скоростью сейчас на основе флакса.
Я сделал возможность прямо здесь не только получать текстовые ответы, но и получать изображение. Кроме того, если нам не нравится ответ, мы можем нажимать "лайк" или "дизлайк".
Вот я, допустим, мне не понравился ответ, я нажал, прокомментировал, что мне нужна точная цитата. Ну, своё любое замечание, что конкретно мне не понравилось в ответе.
И после этого у нас появляется ещё один блок. Посмотрите, с роботом, с головой, уже знакомого нам робота.
И если мы нажмём "нет", сама себя под правила, она для себя записала добавлять к ответам точные цитаты из указанных книг Ремарка с указанием названия книги и, если возможно, номера страниц или главы.
То есть что мы получили? Мы получили то, что нейросеть на основе, то есть мы её как бы дообучаем. Да, таким образом мы нашу систему как бы можем дообучать, ещё и комментируя её ответы.
И она результат будет записывать сама вот в этот раздел. В дальнейшем, когда здесь спится какое-то количество, то есть она фактически занимается самостоятельным самопрограммированием.
На основе нашего замечания мы потом эти данные можем перенести себе, допустим, скопировать отсюда и перенести, допустим, в наш вот этот вот промт, допустим, в любое другое место.
А то место, допустим, очистить, и продолжив, он тогда не будет смешивать. Таким образом получается, что нейросеть сама себя программирует.
Она на основании наших замечаний сама дописывает для себя промт. Таким образом, чтобы соответствовать нашим ожиданиям.
И это тот случай, когда мы даём возможность ИИ совершенствовать саму себя, само промт. Ну, довольно оригинальная идея, на мой взгляд.
Поэтому вот такой элемент я добавил. Будем тестировать. Всё, что я сегодня рассказал, все эти новшества сделаны за последние полтора месяца.
Всё работает в первой альфа-версии, самой-самой начальной, поэтому могут быть многочисленные ошибки, какие-то задержки, какие-то подтормаживания. Всё делал в первый раз, делал, разбирался, как мог, советовался.
Особо мне не с кем. Получилось так, что не так много людей касались этой области. Вот, поэтому сильно прошу не критиковать.
Можете оставлять комментарии, советы, предложения под этим видео. Напоминаю, что у нас есть Telegram группа, ссылка на которую будет дана в конце этого видео.
Приглашаю всех в неё. Если есть идеи какие-то, будем вместе обсуждать, потому что большинство того, что я делаю сейчас, это сделано по вашим советам, вашим подсказкам, вашим материалам, которые вы высылаете в эту группу.
Поэтому буду рад. Всё читаю, стараюсь на всё отвечать. На этом буду заканчивать. Всего самого лучшего, самого доброго.
Очень большой у нас получился ролик, извините, такая поно. Хватит. Всем самого лучшего. Всем пока!