TGTGInsighttelegram intelligenceLIVE / telegram public index
← AI[ex]Time
AI[ex]Time avatar

TGINSIGHT POST

Post #28

@AIexTime

AI[ex]Time

Views844Post view count
PostedOct 1010/10/2023, 07:04 AM
Post content

Post content

Emerging architectures for LLM applications Посмотрел недавний доклад, посвященный ограничениям LLM и способам борьбы с ними. Подготовил небольшую выжимку по основным тезисам авторов: 1. Hallucinations. Известно, что модели часто могут выдавать неправильную информацию, когда в них нет какого-то знания. Чтобы бороться с этим, придумали много методов, например, Retrieval Augmented Generation. RAG заключается в том, что из базы с документами извлекаются релевантные куски текста и помещаются в контекст модели, чтобы у нее была ценная информация для генерации финального ответа. Авторы рассказывают про модифицированный метод FLARE: Forward-Looking Active REtrieval augmented generation: a method which iteratively uses a prediction of the upcoming sentence to anticipate future content, which is then utilized as a query to retrieve relevant documents to regenerate the sentence if it contains low-confidence tokens. 2. Orchestration. Размер контекста в LLM — ограниченная величина. В GPT-4 есть вариация с 32к токенов (примерно 50 страниц текста), а в Claude 2 — 100к токенов, но: a. Зачастую качество генерации на таких длинных контекстах будет проседать. b. В open-source моделях стандартом является 4к токенов в контексте. Если нужно действительно обрабатывать огромные контексты, то можно использовать следующее: разбиваем текст на кусочки поменьше и параллельно прогоняем через несколько инстансов модели. Далее накладываем Merging алгоритм (может быть опять LLM), который выдаст уже результат. Своего рода Map-Reduce в мире LLM. 3. Monitoring. В классическом ML мы отслеживаем распределение данных, чтобы вовремя детектировать distribution shift и переобучить модель. С LLM это сложнее, но можно смотреть на распределение промптов, их типы и классы, схожести извлеченных документов и через это пытаться уловить изменение данных. Переобучать или даже файнтюнить языковую модель не всегда есть возможность, поэтому на помощь приходит изменение промптов (+ их версионирование) или процесса ретривала.