MoBA: Большая языковая модель Кими для обработки длинных контекстов

Общее введение

MoBA (Mixture of Block Attention) - это инновационный механизм внимания, разработанный MoonshotAI и предназначенный для больших языковых моделей (LLM) с обработкой длинных контекстов. MoBA обеспечивает эффективную обработку длинных последовательностей, разделяя полный контекст на множество блоков, и каждый маркер запроса учится фокусироваться на наиболее релевантных блоках KV. Уникальный механизм top-k gating без параметров гарантирует, что модель фокусируется только на наиболее информативных блоках, что значительно повышает эффективность вычислений. MoBA может плавно переключаться между режимами полного и разреженного внимания, что обеспечивает производительность и эффективность. Техника была успешно применена к длинным контекстным запросам с поддержкой Kimi, продемонстрировав значительный прогресс в эффективном вычислении внимания.

MoBA: Kimi 推出的支持长上下文处理的大语言模型

 

Список функций

  • Блок "Разреженное внимание: Разделите полный контекст на фрагменты, и каждый маркер запроса научится фокусироваться на наиболее релевантных фрагментах KV.
  • Беспараметрический механизм стробирования: Внедрение не требующего параметров механизма топ-к, который выбирает наиболее релевантный блок для каждой лексемы запроса.
  • Полное переключение внимания: Плавное переключение между режимами полного и рассеянного внимания.
  • Эффективные вычисления: Значительное повышение эффективности вычислений для задач с длинным контекстом.
  • открытый исходный кодПолный открытый исходный код предоставляется для удобства использования и вторичной разработки.

 

Использование помощи

Процесс установки

  1. Создайте виртуальную среду:
   conda create -n moba python=3.10
conda activate moba
  1. Установите зависимость:
   pip install .

Быстрый старт

Мы предлагаем реализацию MoBA, совместимую с трансформаторами. Пользователи могут использовать--attnПараметр выбирает бэкенд внимания между moba и moba_naive.

python3 examples/llama.py --model meta-llama/Llama-3.1-8B --attn moba

Подробный порядок работы функций

  1. Блок "Разреженное внимание: При работе с длинными контекстами MoBA делит полный контекст на несколько фрагментов, и каждый маркер запроса учится фокусироваться на наиболее релевантных фрагментах KV, что позволяет эффективно обрабатывать длинные последовательности.
  2. Беспараметрический механизм стробированияВ MoBA реализован не требующий параметров механизм top-k gating, который выбирает наиболее релевантный блок для каждой лексемы запроса, гарантируя, что модель фокусируется только на наиболее информативных блоках.
  3. Полное переключение вниманияMoBA разработан как гибкая альтернатива полному вниманию, позволяющая плавно переключаться между режимами полного и рассеянного внимания, обеспечивая производительность и эффективность.
  4. Эффективные вычисленияБлагодаря вышеописанному механизму MoBA значительно повышает вычислительную эффективность длинных контекстных задач для различных сложных задач рассуждения.

пример кода (вычисления)

Ниже приведен пример кода, в котором используется MoBA:

from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-3.1-8B")
model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-3.1-8B", attn="moba")
inputs = tokenizer("长上下文示例文本", return_tensors="pt")
outputs = model(**inputs)
print(outputs)

Описание в одно предложение (краткое)

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

Ключевые слова страницы

Обработка длинных контекстов, механизм блочного внимания, большие языковые модели, эффективные вычисления, MoonshotAI

Общее введение

MoBA (Mixture of Block Attention) - это инновационный механизм внимания, разработанный MoonshotAI и предназначенный для больших языковых моделей (LLM) с обработкой длинных контекстов. MoBA обеспечивает эффективную обработку длинных последовательностей, разделяя полный контекст на множество блоков, и каждый маркер запроса учится фокусироваться на наиболее релевантных блоках KV. Уникальный механизм top-k gating без параметров гарантирует, что модель фокусируется только на наиболее информативных блоках, что значительно повышает эффективность вычислений. MoBA может плавно переключаться между режимами полного и разреженного внимания, что обеспечивает производительность и эффективность. Техника была успешно применена к длинным контекстным запросам с поддержкой Kimi, продемонстрировав значительный прогресс в эффективном вычислении внимания.

Список функций

  • Блок "Разреженное внимание: Разделите полный контекст на фрагменты, и каждый маркер запроса научится фокусироваться на наиболее релевантных фрагментах KV.
  • Беспараметрический механизм стробирования: Внедрение не требующего параметров механизма топ-к, который выбирает наиболее релевантный блок для каждой лексемы запроса.
  • Полное переключение внимания: Плавное переключение между режимами полного и рассеянного внимания.
  • Эффективные вычисления: Значительное повышение эффективности вычислений для задач с длинным контекстом.
  • открытый исходный кодПолный открытый исходный код предоставляется для удобства использования и вторичной разработки.

Использование помощи

Процесс установки

  1. Создайте виртуальную среду:
   conda create -n moba python=3.10
conda activate moba
  1. Установите зависимость:
   pip install .

Быстрый старт

Мы предлагаем реализацию MoBA, совместимую с трансформаторами. Пользователи могут использовать--attnПараметр выбирает бэкенд внимания между moba и moba_naive.

python3 examples/llama.py --model meta-llama/Llama-3.1-8B --attn moba

Подробный порядок работы функций

  1. Блок "Разреженное внимание: При работе с длинными контекстами MoBA делит полный контекст на несколько фрагментов, и каждый маркер запроса учится фокусироваться на наиболее релевантных фрагментах KV, что позволяет эффективно обрабатывать длинные последовательности.
  2. Беспараметрический механизм стробированияВ MoBA реализован не требующий параметров механизм top-k gating, который выбирает наиболее релевантный блок для каждой лексемы запроса, гарантируя, что модель фокусируется только на наиболее информативных блоках.
  3. Полное переключение вниманияMoBA разработан как гибкая альтернатива полному вниманию, позволяющая плавно переключаться между режимами полного и рассеянного внимания, обеспечивая производительность и эффективность.
  4. Эффективные вычисленияБлагодаря вышеописанному механизму MoBA значительно повышает вычислительную эффективность длинных контекстных задач для различных сложных задач рассуждения.

пример кода (вычисления)

Ниже приведен пример кода, в котором используется MoBA:

from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-3.1-8B")
model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-3.1-8B", attn="moba")
inputs = tokenizer("长上下文示例文本", return_tensors="pt")
outputs = model(**inputs)
print(outputs)
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...