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

В качестве примера своих возможностей CodeGen может взять запрос «Вернуть n-е число Фибоначчи» и быстро сгенерировать соответствующий код JavaScript. Это означает, что разработчики могут быстро преобразовывать сложные концепции в строки кода без необходимости писать код вручную, экономя драгоценное время и ресурсы. Давайте посмотрим, как показано ниже.

Ввод в CodeGen:

/*Return n-th Fibonacci number .
  >>> fib(10)
  55
  >>> fib(1)
  1
  >>> fib(8)
  21
  */
  const fib = (n) => {

Вывод, созданный CodeGen:

  if(n < 2) {
    return n;
  }
  return fib(n - 1) + fib(n - 2);
};

CodeGen является многоязычным, что означает, что модель может поддерживать популярные языки программирования, такие как Python, Java, Javascript, C++ или Go. CodeGen выбирает подходящий язык в соответствии с подсказками пользователей, как в приведенном выше примере; в этом случае он сгенерировал код JavaScript, просматривая стиль комментариев и сигнатуру функции.

Другой пример — генерация тестов. CodeGen быстро генерирует тесты, что чрезвычайно полезно в процессе проверки правильности программы. Благодаря автоматическому созданию тестов разработчики программного обеспечения могут улучшить качество своего кода, но с гораздо меньшими усилиями. Ниже показан пример генерации тестового кода.

Ввод в CodeGen:

//sumToN is a function that sums numbers from 1 to n.
const sumToN = (n) => {
  return n * (n + 1) / 2;
}
//write a test code that assets the correctness of sumToN()
const testSumToN = () => {

Вывод, созданный CodeGen:

  assert.equal(sumToN(1), 1);
  assert.equal(sumToN(2), 3);
  assert.equal(sumToN(3), 6);
  assert.equal(sumToN(4), 10);
  assert.equal(sumToN(5), 15);
  assert.equal(sumToN(6), 21);
  assert.equal(sumToN(7), 28);
  assert.equal(sumToN(8), 36);
  assert.equal(sumToN(9), 45);
  assert.equal(sumToN(10), 55);
}

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

С PeriFlow можно адаптировать (то есть выполнять точную настройку или обучение с эффективными параметрами) CodeGen и легко и быстро обслуживать CodeGen для приложений, что еще раз подчеркивает стремление FriendliAI сделать обслуживание и обучение генеративного ИИ простым и экономичным. Наши клиенты могут использовать PeriFlow для выполнения выводов CodeGen намного быстрее, чем любое другое доступное решение.

Мы сравнили PeriFlow Serving (Orca) с NVIDIA Triton + FasterTransformer при обслуживании CodeGen с параметрами 16B на графическом процессоре NVIDIA A100 80GB. В экспериментах диапазон длины входного маркера составляет от 128 до 512, а диапазон длины выходного маркера — от 32 до 256. На рисунке ниже показана пропускная способность (запросов в секунду) и средняя задержка (мс).

Наши результаты показывают, что PeriFlow Serving (Orca) превосходит Triton + FasterTransformer, достигая впечатляющей пропускной способности в 30 раз при том же уровне задержки благодаря своей новой архитектуре. Обратите внимание, что фактический выигрыш может варьироваться в зависимости от рабочих нагрузок и аппаратного обеспечения. В дополнение к нашим предыдущим сообщениям об ускорении Orca для крупномасштабных и мелкомасштабных моделей GPT3 и T5 мы демонстрируем, что PeriFlow — идеальный выбор для минимизации затрат, когда речь идет об обслуживании CodeGen.

Таким образом, CodeGen открывает прекрасную возможность для людей и ИИ сотрудничать для совместного программирования. С PeriFlow можно быстро адаптировать CodeGen и обслуживать модель гораздо эффективнее. Мы в восторге от того, что мы можем предложить, поскольку это может открыть двери для многих пользователей, которые хотят использовать PeriFlow для объединения лучшего человеческого творчества с возможностями кодирования на основе ИИ!

Для получения дополнительной информации о FriendliAI перейдите по ссылке.
О PeriFlow перейдите по ссылке.