Искусственный интеллект (ИИ) стремительно меняет мир, одновременно создавая новый язык для описания этих трансформаций. Достаточно провести пять минут, читая об ИИ, чтобы встретить такие аббревиатуры, как LLM, RAG, RLHF, и множество других терминов, способных смутить даже опытных экспертов в сфере технологий. Данный глоссарий призван прояснить эти понятия. Обзор регулярно обновляется по мере развития области, становясь «живым документом», подобно описываемым им системам ИИ.
Общий искусственный интеллект (ОИИ или AGI)
Термин «общий искусственный интеллект» (ОИИ), или AGI (Artificial General Intelligence), достаточно расплывчат. Однако в целом он относится к ИИ, который превосходит среднестатистического человека во многих, если не в большинстве, задач. Сэм Альтман, генеральный директор OpenAI, однажды описал ОИИ как «эквивалент среднего человека, которого можно нанять в качестве коллеги». В то же время устав OpenAI определяет ОИИ как «высокоавтономные системы, превосходящие людей в большинстве экономически ценных видов работы». Понимание Google DeepMind несколько отличается от этих двух определений: лаборатория рассматривает ОИИ как «ИИ, который по своим когнитивным способностям как минимум равен человеку в большинстве задач». Такая вариативность трактовок не должна смущать, поскольку даже ведущие эксперты в области исследований ИИ сталкиваются с аналогичными сложностями в определении.
ИИ-агент
ИИ-агент — это инструмент, использующий технологии искусственного интеллекта для выполнения ряда задач от имени пользователя, выходящих за рамки возможностей обычного чат-бота. К таким задачам относятся, например, оформление отчетов о расходах, бронирование билетов или столиков в ресторане, а также написание и поддержка программного кода. Однако, как было отмечено ранее, эта развивающаяся область включает множество подвижных элементов, поэтому понятие «ИИ-агент» может иметь разное значение для разных людей. Инфраструктура для реализации его предполагаемых возможностей все еще находится в стадии строительства. Однако основная концепция подразумевает автономную систему, способную использовать несколько систем ИИ для выполнения многошаговых задач.
API-интерфейсы (API endpoints)
API-интерфейсы (Application Programming Interface — программный интерфейс приложения) можно представить как «кнопки» на задней панели программного обеспечения, которые другие программы могут нажимать, чтобы заставить его выполнять определенные действия. Разработчики используют эти интерфейсы для создания интеграций — например, для обмена данными между приложениями или для того, чтобы ИИ-агент мог напрямую управлять сторонними сервисами без ручного вмешательства человека. Большинство устройств для умного дома и подключенных платформ имеют такие скрытые «кнопки», даже если обычные пользователи никогда их не видят и не взаимодействуют с ними. По мере того, как ИИ-агенты становятся более мощными, они все чаще способны самостоятельно находить и использовать эти интерфейсы, открывая широкие — и порой неожиданные — возможности для автоматизации.
Цепочка рассуждений (Chain of thought)
На простой вопрос человеческий мозг может ответить без особых раздумий, например: «Какое животное выше, жираф или кошка?». Однако во многих случаях для получения правильного ответа требуются промежуточные шаги, аналогичные использованию ручки и бумаги. Например, если у фермера есть куры и коровы, и у них в сумме 40 голов и 120 ног, может потребоваться записать простое уравнение для нахождения ответа (20 кур и 20 коров).
В контексте искусственного интеллекта, рассуждение по цепочке мыслей для больших языковых моделей означает декомпозицию задачи на более мелкие, промежуточные шаги для улучшения качества конечного результата. Обычно это занимает больше времени для получения ответа, но вероятность его правильности выше, особенно в логических задачах или при работе с кодом. Модели рассуждений разрабатываются на основе традиционных больших языковых моделей и оптимизированы для такого типа мышления благодаря обучению с подкреплением.
Агенты для программирования (Coding agents)
Это более специализированное понятие, чем «ИИ-агент», которое подразумевает программу, способную самостоятельно выполнять действия шаг за шагом для достижения цели. Агент для программирования — это специализированная версия, применяемая в разработке программного обеспечения. Вместо того чтобы просто предлагать код для проверки и вставки человеком, такой агент может самостоятельно писать, тестировать и отлаживать код, выполняя итеративную работу методом проб и ошибок, которая обычно занимает большую часть рабочего дня разработчика. Эти агенты способны работать со всей кодовой базой, выявляя ошибки, запуская тесты и внося исправления с минимальным надзором со стороны человека. Это можно сравнить с наймом очень быстрого стажера, который никогда не спит и не теряет концентрации, хотя, как и в случае с любым стажером, человеческий контроль за его работой по-прежнему необходим.
Вычислительная мощность (Compute)
Хотя «вычислительная мощность» (compute) является многозначным термином, в целом он относится к жизненно важным вычислительным ресурсам, позволяющим работать моделям ИИ. Этот тип обработки данных питает индустрию искусственного интеллекта, предоставляя ей возможность обучать и развертывать мощные модели. Термин часто используется как сокращение для обозначения аппаратного обеспечения, обеспечивающего эту вычислительную мощность, такого как графические процессоры (GPU), центральные процессоры (CPU), тензорные процессоры (TPU) и другие формы инфраструктуры, которые составляют основу современной индустрии ИИ.
Глубокое обучение (Deep learning)
Глубокое обучение — это подмножество самообучающегося машинного обучения, в котором алгоритмы ИИ разработаны с многослойной структурой искусственной нейронной сети (ИНС). Это позволяет им устанавливать более сложные корреляции по сравнению с более простыми системами машинного обучения, такими как линейные модели или деревья решений. Структура алгоритмов глубокого обучения черпает вдохновение из взаимосвязанных путей нейронов в человеческом мозге.
Модели глубокого обучения способны самостоятельно выявлять важные характеристики в данных сами, не требуя от инженеров-людей определять эти признаки. Эта структура также поддерживает алгоритмы, которые могут учиться на ошибках и, посредством процесса повторения и корректировки, улучшать свои собственные результаты. Однако системы глубокого обучения требуют большого количества данных (миллионы и более) для получения хороших результатов. Их обучение также обычно занимает больше времени по сравнению с более простыми алгоритмами машинного обучения, что ведет к более высоким затратам на разработку.
Диффузия (Diffusion)
Диффузия — это технология, лежащая в основе многих моделей ИИ, генерирующих изображения, музыку и тексты. Вдохновленные физикой, диффузионные системы медленно «разрушают» структуру данных — например, фотографий, песен и так далее — добавляя «шум», пока ничего не останется. В физике диффузия является спонтанным и необратимым процессом — сахар, растворенный в кофе, не может быть восстановлен в виде кубика. Но диффузионные системы в ИИ стремятся освоить своего рода процесс «обратной диффузии» для восстановления разрушенных данных, обретая способность восстанавливать данные из шума.
Дистилляция (Distillation)
Дистилляция — это метод, используемый для извлечения знаний из большой модели ИИ с помощью модели «учитель-ученик». Разработчики отправляют запросы модели-учителю и записывают ее ответы. Ответы иногда сравниваются с набором данных для оценки их точности. Затем эти ответы используются для обучения модели-ученика, которая обучается аппроксимировать поведение учителя.
Дистилляция может быть использована для создания меньшей, более эффективной модели на основе более крупной модели с минимальными потерями. Вероятно, именно так OpenAI разработала GPT-4 Turbo, более быструю версию GPT-4.
Хотя все компании, работающие с ИИ, используют дистилляцию внутренне, она могла также использоваться некоторыми компаниями для достижения уровня передовых моделей. Дистилляция от конкурента обычно нарушает условия использования API и чат-ассистентов ИИ.
Тонкая настройка (Fine-tuning)
Тонкая настройка относится к дальнейшему обучению модели ИИ для оптимизации производительности под более конкретную задачу или область, которая ранее не была центральным объектом ее обучения. Обычно это достигается путем подачи новых, специализированных (то есть ориентированных на задачу) данных.
Многие стартапы в области ИИ используют большие языковые модели в качестве отправной точки для создания коммерческого продукта, но стремятся усилить их полезность для целевого сектора или задачи, дополняя предыдущие циклы обучения тонкой настройкой, основанной на их собственных знаниях и опыте в предметной области.
Генеративно-состязательные сети (GAN)
Генеративно-состязательная сеть (GAN, Generative Adversarial Network) — это тип фреймворка машинного обучения, который лежит в основе некоторых важных разработок в области генеративного ИИ, касающихся создания реалистичных данных, включая (но не ограничиваясь) инструменты для создания дипфейков. GAN включают использование пары нейронных сетей: одна из них, опираясь на свои обучающие данные, генерирует выходные данные, которые затем передаются другой модели для оценки.
Эти две модели, по сути, запрограммированы на то, чтобы превзойти друг друга. Генератор пытается заставить дискриминатор принять его выходные данные за реальные, в то время как дискриминатор работает над выявлением искусственно сгенерированных данных. Это структурированное состязание позволяет оптимизировать выходные данные ИИ, делая их более реалистичными без необходимости дополнительного вмешательства человека. Хотя GAN лучше всего работают для более узких приложений (таких как создание реалистичных фотографий или видео), а не для ИИ общего назначения.
Галлюцинации (Hallucination)
Галлюцинации — это предпочитаемый термин в индустрии ИИ для описания ситуаций, когда модели ИИ «выдумывают» информацию, то есть генерируют неверные данные. Очевидно, что это серьезная проблема для качества ИИ.
Галлюцинации приводят к созданию генеративным ИИ выходных данных, которые могут вводить в заблуждение и даже приводить к реальным рискам с потенциально опасными последствиями (например, запрос о здоровье может привести к вредным медицинским рекомендациям).
Считается, что проблема фальсификации информации ИИ возникает вследствие пробелов в обучающих данных. Галлюцинации способствуют стремлению к созданию все более специализированных и/или вертикальных моделей ИИ, то есть ИИ, ориентированных на конкретные предметные области, которые требуют более узкой экспертизы. Это рассматривается как способ уменьшения вероятности пробелов в знаниях и снижения рисков дезинформации.
Вывод (Inference)
Вывод, или инференс, — это процесс выполнения модели ИИ. Это запуск модели для выполнения предсказаний или получения заключений на основе ранее виденных данных. Важно отметить, что вывод невозможен без обучения; модель должна изучить закономерности в наборе данных, прежде чем она сможет эффективно экстраполировать из этих обучающих данных.
Многие типы аппаратного обеспечения могут выполнять вывод, от процессоров смартфонов до мощных графических процессоров (GPU) и специально разработанных ускорителей ИИ. Однако не все они могут одинаково хорошо выполнять модели. Очень большие модели будут выполнять предсказания в течение долгих часов, например, на ноутбуке по сравнению с облачным сервером с высокопроизводительными чипами ИИ.
Большие языковые модели (БЯМ или LLM)
Большие языковые модели, или БЯМ (LLM), — это модели ИИ, используемые популярными ИИ-ассистентами, такими как ChatGPT, Claude, Google’s Gemini, Meta’s AI Llama*, Microsoft Copilot или Mistral’s Le Chat. При общении с ИИ-ассистентом пользователь взаимодействует с большой языковой моделью, которая обрабатывает его запрос напрямую или с помощью различных доступных инструментов, таких как веб-браузинг или интерпретаторы кода.
БЯМ представляют собой глубокие нейронные сети, состоящие из миллиардов числовых параметров (или весов), которые изучают взаимосвязи между словами и фразами и создают представление языка — своего рода многомерную карту слов.
Эти модели создаются путем кодирования закономерностей, найденных в миллиардах книг, статей и транскрипций. Когда пользователь делает запрос к БЯМ, модель генерирует наиболее вероятный паттерн, соответствующий запросу.
Кэш памяти (Memory cache)
Кэш памяти относится к важному процессу, который ускоряет вывод (процесс, посредством которого ИИ генерирует ответ на запрос пользователя). По сути, кэширование — это метод оптимизации, предназначенный для повышения эффективности вывода. ИИ, очевидно, обусловлен высокоинтенсивными математическими вычислениями, и каждое такое вычисление потребляет больше энергии. Кэширование предназначено для сокращения количества вычислений, которые модель может выполнять, путем сохранения определенных вычислений для будущих пользовательских запросов и операций. Существуют различные виды кэширования памяти, хотя одним из наиболее известных является KV (или key-value) кэширование. KV-кэширование работает в моделях на основе трансформеров и повышает эффективность, обеспечивая более быстрые результаты за счет сокращения времени (и алгоритмических затрат) на генерацию ответов на вопросы пользователей.
Нейронная сеть (Neural network)
Нейронная сеть относится к многослойной алгоритмической структуре, лежащей в основе глубокого обучения и, в более широком смысле, всего бурного развития генеративных инструментов ИИ после появления больших языковых моделей.
Хотя идея заимствования структуры, вдохновленной плотно взаимосвязанными путями человеческого мозга, для алгоритмов обработки данных восходит к 1940-м годам, именно гораздо более позднее появление аппаратного обеспечения для графической обработки (GPU) — благодаря индустрии видеоигр — действительно раскрыло потенциал этой теории. Эти чипы оказались хорошо подходящими для обучения алгоритмов с гораздо большим количеством слоев, чем это было возможно в более ранние эпохи, что позволило системам ИИ на основе нейронных сетей достичь гораздо лучшей производительности во многих областях, включая распознавание голоса, автономную навигацию и разработку лекарств.
Открытый исходный код (Open source)
Открытый исходный код (open source) относится к программному обеспечению — или, все чаще, к моделям ИИ — чей базовый код делается общедоступным для использования, проверки или модификации любым желающим. В мире ИИ ярким примером является семейство моделей Llama от Meta*. Linux — это известный исторический аналог в операционных системах. Подходы с открытым исходным кодом позволяют исследователям, разработчикам и компаниям по всему миру опираться на работу друг друга, ускоряя прогресс и обеспечивая независимые аудиты безопасности, которые закрытые системы не могут легко предоставить. Закрытый исходный код означает, что код является частным — можно использовать продукт, но нельзя увидеть, как он работает, как в случае с моделями GPT от OpenAI — это различие стало одним из определяющих дебатов в индустрии ИИ.
Параллелизация (Parallelization)
Параллелизация означает выполнение множества задач одновременно, а не последовательно — подобно тому, как 10 сотрудников работают над разными частями проекта одновременно, вместо того чтобы один сотрудник делал все по очереди. В ИИ параллелизация является фундаментальной как для обучения, так и для вывода: современные графические процессоры (GPU) специально разработаны для выполнения тысяч вычислений параллельно, что является одной из главных причин, почему они стали аппаратной основой индустрии. По мере того как системы ИИ становятся все сложнее, а модели — все крупнее, способность параллелизировать работу между множеством чипов и множеством машин стала одним из наиболее важных факторов, определяющих, насколько быстро и экономически эффективно могут быть созданы и развернуты модели. Исследования в области улучшения стратегий параллелизации теперь являются самостоятельной областью.
RAMageddon
«RAMageddon» — это новый термин для обозначения не столь приятной тенденции, охватившей технологическую индустрию: постоянно растущая нехватка чипов оперативной памяти (RAM), которая питает практически все технологические продукты, используемые в повседневной жизни. По мере расцвета индустрии ИИ крупнейшие технологические компании и лаборатории ИИ, стремящиеся создать самые мощные и эффективные ИИ, скупают так много ОЗУ для своих центров обработки данных, что для всех остальных остается не так много. И это узкое место в поставках означает, что оставшаяся память становится все дороже.
Это затрагивает такие отрасли, как игровая индустрия (где крупные компании были вынуждены повысить цены на консоли из-за трудностей с поиском чипов памяти для своих устройств), бытовая электроника (где нехватка памяти может вызвать самое большое падение поставок смартфонов за более чем десять лет), и общекорпоративные вычисления (поскольку эти компании не могут получить достаточно оперативной памяти для своих собственных центров обработки данных). Ожидается, что рост цен прекратится только после окончания этой нехватки, но, к сожалению, пока нет никаких признаков того, что это произойдет в ближайшее время.
Обучение с подкреплением (Reinforcement learning)
Обучение с подкреплением — это метод тренировки ИИ, при котором система учится методом проб и ошибок, получая «вознаграждение» за правильные ответы. В этом сценарии «вознаграждение» представляет собой математический сигнал, указывающий на успех, что помогает нейронной сети корректировать свое поведение. В отличие от обучения с учителем, где модель тренируется на фиксированном наборе размеченных примеров, обучение с подкреплением позволяет модели исследовать свою среду, предпринимать действия и постоянно обновлять свое поведение на основе получаемой обратной связи. Этот подход оказался особенно мощным для обучения ИИ играть в игры, управлять роботами и, в последнее время, оттачивать способности к рассуждению больших языковых моделей. Такие методы, как обучение с подкреплением на основе человеческой обратной связи (RLHF), теперь занимают центральное место в том, как ведущие ИИ-лаборатории тонко настраивают свои модели, чтобы они были более полезными, точными и безопасными.
Токен (Token)
В контексте коммуникации между человеком и машиной существуют очевидные сложности: люди общаются на человеческом языке, в то время как программы ИИ выполняют задачи с помощью сложных алгоритмических процессов, основанных на данных. Токены устраняют этот разрыв: они являются базовыми строительными блоками человеко-ИИ-коммуникации, представляя собой дискретные сегменты данных, которые были обработаны или произведены большой языковой моделью (БЯМ). Они создаются в процессе, называемом токенизацией, который разбивает необработанный текст на небольшие единицы, которые языковая модель может усвоить, подобно тому, как компилятор переводит человеческий язык в двоичный код, понятный компьютеру. В корпоративных условиях токены также определяют стоимость: большинство компаний, работающих с ИИ, взимают плату за использование БЯМ на основе количества токенов, что означает, чем больше компания использует, тем больше она платит.
Пропускная способность токенов (Token throughput)
Токены — это небольшие фрагменты текста, часто части слов, а не целые, на которые языковые модели ИИ разбивают язык перед обработкой. Их можно примерно сравнить со «словами» для понимания рабочих нагрузок ИИ. Пропускная способность (throughput) относится к объему данных, который может быть обработан за определенный период времени, поэтому пропускная способность токенов, по сути, является мерой того, какой объем работы ИИ система может обработать одновременно. Высокая пропускная способность токенов — ключевая цель для команд, занимающихся инфраструктурой ИИ, поскольку она определяет, сколько пользователей может обслуживать модель одновременно и как быстро каждый из них получает ответ. Исследователи ИИ отмечают, что чувство беспокойства возникает, когда дорогие компьютерные ресурсы не используются на полную мощность — подобное беспокойство испытывают и исследователи, чьи подписки на ИИ остаются бездействующими. Этот феномен подчеркивает, почему максимизация пропускной способности токенов стала своего рода навязчивой идеей в этой области.
Обучение (Training)
Разработка ИИ на основе машинного обучения включает процесс, известный как обучение. Проще говоря, это подача данных для того, чтобы модель могла учиться на паттернах и генерировать полезные результаты. По сути, это процесс, когда система реагирует на характеристики в данных, что позволяет ей адаптировать выходные данные к заданной цели — будь то распознавание изображений кошек или создание хайку по запросу.
Обучение может быть дорогостоящим, поскольку оно требует большого количества входных данных, и их объемы имеют тенденцию к увеличению. Именно поэтому гибридные подходы, такие как тонкая настройка ИИ на основе правил с использованием целевых данных, могут помочь управлять расходами, не начиная полностью с нуля.
Трансферное обучение (Transfer learning)
Трансферное обучение — это метод, при котором ранее обученная модель ИИ используется в качестве отправной точки для разработки новой модели для другой, но обычно связанной задачи. Это позволяет повторно применять знания, полученные в предыдущих циклах обучения.
Трансферное обучение может обеспечить экономию за счет сокращения времени разработки модели. Оно также может быть полезно, когда данные для задачи, для которой разрабатывается модель, несколько ограничены. Однако важно отметить, что у этого подхода есть ограничения. Модели, которые полагаются на трансферное обучение для получения обобщенных возможностей, вероятно, потребуют дополнительного обучения на дополнительных данных для хорошей производительности в своей целевой области.
Веса (Weights)
Веса являются основой обучения ИИ, поскольку они определяют, насколько важны (или «весомы») различные признаки (или входные переменные) в данных, используемых для обучения системы, тем самым формируя выходные данные модели ИИ.
Иными словами, веса — это числовые параметры, которые определяют, что является наиболее существенным в наборе данных для данной задачи обучения. Они выполняют свою функцию, умножая входные данные. Обучение модели обычно начинается со случайным назначением весов, но по мере развития процесса веса корректируются, поскольку модель стремится получить результат, который более точно соответствует цели.
Например, модель ИИ для прогнозирования цен на жилье, обученная на исторических данных о недвижимости для целевого местоположения, может включать веса для таких признаков, как количество спален и ванных комнат, является ли недвижимость отдельно стоящей или сблокированной, есть ли парковка, гараж и так далее.
В конечном итоге, веса, которые модель присваивает каждому из этих входных данных, отражают, насколько они влияют на стоимость недвижимости, основываясь на данном наборе данных.
Ошибка валидации (Validation loss)
Ошибка валидации — это числовой показатель, который информирует о том, насколько хорошо модель ИИ обучается в процессе тренировки; чем ниже значение, тем лучше. Исследователи внимательно отслеживают этот показатель как своего рода отчет о прогрессе в реальном времени, используя его для принятия решений о прекращении обучения, корректировке гиперпараметров или расследовании потенциальных проблем. Одна из ключевых проблем, которую он помогает выявить, — это переобучение: состояние, при котором модель запоминает свои обучающие данные, вместо того чтобы по-настоящему изучать закономерности, которые она может обобщить на новые ситуации. Это можно сравнить с разницей между студентом, который искренне понимает материал, и тем, кто просто заучил прошлогодний экзамен; ошибка валидации помогает определить, каким из них становится ваша модель.
* — деятельность компании запрещена на территории РФ