BUILDING_SINGULARITY Telegram 107
Fast Constrained Decoding ⚡️

Есть такой юскейс у LLM, когда надо генерить строго в JSON/YAML формате. Это очень удобно, потому что такой ответ легко парсить. Мы его применяем, например, когда надо классифицирровать текст на несколько аттрибутов.

У этих форматов есть правила: каждая открытая скобка должна закрыться, ключи обязательно в кавычках и тд

И когда LLM, вероятностная по своей природе, пытается решить такую задачу, могут возникнуть проблемы типа генерации невалидного JSON'а.

Так вот, в SGLang (про который тут есть хороший пост) реализован быстрый constrained decoding с использованием конечных автоматов. И на JSON'е он работает очень хорошо (см гифку)

✍️ Суть в том, что мы можем пропускать генерацию некоторых токенов, когда только один подходит (для ускорения), и ограничивать возможные токены для генерации через logit bias (для корректности).

Подробный блогпост от авторов на эту тему. Очень рекомендую к ознакомлению 👍

И обрартите внимание на то, как это можно использовать в коде (на скрине и тут в примерах). На мой взгляд это прям next level удобства и скорости для агентов и function calling 🦾

@building_singularity
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍32



tgoop.com/building_singularity/107
Create:
Last Update:

Fast Constrained Decoding ⚡️

Есть такой юскейс у LLM, когда надо генерить строго в JSON/YAML формате. Это очень удобно, потому что такой ответ легко парсить. Мы его применяем, например, когда надо классифицирровать текст на несколько аттрибутов.

У этих форматов есть правила: каждая открытая скобка должна закрыться, ключи обязательно в кавычках и тд

И когда LLM, вероятностная по своей природе, пытается решить такую задачу, могут возникнуть проблемы типа генерации невалидного JSON'а.

Так вот, в SGLang (про который тут есть хороший пост) реализован быстрый constrained decoding с использованием конечных автоматов. И на JSON'е он работает очень хорошо (см гифку)

✍️ Суть в том, что мы можем пропускать генерацию некоторых токенов, когда только один подходит (для ускорения), и ограничивать возможные токены для генерации через logit bias (для корректности).

Подробный блогпост от авторов на эту тему. Очень рекомендую к ознакомлению 👍

И обрартите внимание на то, как это можно использовать в коде (на скрине и тут в примерах). На мой взгляд это прям next level удобства и скорости для агентов и function calling 🦾

@building_singularity

BY Приближаем сингулярность




Share with your friend now:
tgoop.com/building_singularity/107

View MORE
Open in Telegram


Telegram News

Date: |

Polls Some Telegram Channels content management tips How to Create a Private or Public Channel on Telegram? Unlimited number of subscribers per channel Telegram channels enable users to broadcast messages to multiple users simultaneously. Like on social media, users need to subscribe to your channel to get access to your content published by one or more administrators.
from us


Telegram Приближаем сингулярность
FROM American