Forwarded from Machinelearning
Microsoft Research представила KBLaM - архитектуру, которая решает ключевую проблему LLM — добавление новых внешних знаний. В отличие от традиционных методов файнтюна и RAG, KBLaM кодирует новые для LLM структурированные данные в виде векторных пар «ключ-значение», встраивая их напрямую в слои внимания модели. Это позволяет избежать дорогостоящего дообучения и построение дополнительных модулей, сохраняя линейную масштабируемость даже для баз знаний в 10 000 триплетов.
В KBLaM триплет — это структурированный элемент знания, состоящий из трех компонентов: сущности, свойства и значения. Например, в утверждении «Москва — столица России» сущностью выступает «Москва», свойством — «столица», а значением — «Россия».
В основе KBLaM - «прямоугольный механизм внимания»: языковые токены взаимодействуют с токенами знаний, но не наоборот. Такая структура сокращает вычислительные затраты до линейных, позволяя обрабатывать эквивалент 200 тыс. токенов на одном GPU. При этом модель динамически обновляет знания без пересчёта всей базы — достаточно изменить один триплет.
Эксперименты с KBLaM показали, что он не только эффективен, но и прозрачен: веса внимания визуализируют, какие факты использует модель. Например, при запросе о медицинском диагнозе высокие оценки внимания к соответствующим триплетам снижают риск «галлюцинаций», при этом, если ответ на запрос лежит вне базы знаний, модель отказывается на него отвечать.
Как заявляют авторы, KBLaM — не просто шаг к умным LLM, а мост между обученными на базовых знаниях моделями и реальным миром, где знания постоянно обновляются.
В опубликованном на Github коде для применения KBLaM поддерживаются модели с HF:
и эмбединги для генерации базы знаний:
⚠️ Чтобы добавить поддержку других моделей, необходимо отредактировать скрипты обработки моделей и включить в них адаптер, подобный
llama_model.py в src/kblam/models.@ai_machinelearning_big_data
#AI #ML #LLM #MicrosoftResearch #KBLaM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machine learning Interview
Подробный блог-пост о том, как на самом деле работает внутренняя часть PyTorch.
📌 Читать
📌Видео объяснения базы по тензорам
@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Новости психофизиологии
«Palatable Conceptions of Disembodied Being: Terra Incognita in the Space of Possible Minds»
https://arxiv.org/abs/2503.16348
Только что Мюррей Шанахан – лидер академической мысли по проблеме искусственного сознания – выложил интереснейший препринт под названием «Palatable Conceptions of Disembodied Being: Terra Incognita in the Space of Possible Minds». Я рекомендую всем коллегам из академических сообществ психологии, нейронауки, философии и искусственного интеллекта не пожалеть времени и ознакомиться с ним, также этот препринт было бы полезно оперативно, для рефлексии текущего момента, разобрать на семинарах по всем читаемым сейчас университетским курсам по психологии искусственного интеллекта. У препринта есть html-версия (https://arxiv.org/html/2503.16348v1), если есть необходимость, то можно автоматически перевести его на русский прямо в браузере.
Перевод резюме: «Возможно ли сформулировать концепцию сознания, которая была бы совместима с экзотическими характеристиками современных «бестелесных» систем ИИ и которая могла бы выдержать философскую критику? Как субъективное время и самость могли бы проявиться у сущности, соответствующей такой концепции? Попытка ответить на эти вопросы, даже метафорически, «растягивает» доступный язык описания сознания до предела. В конечном счете, такая попытка дает что-то вроде буддийской «пустоты», и помогает пошатнуть наши склонности к дуалистической интерпретации субъективности и самости».
https://arxiv.org/abs/2503.16348
Только что Мюррей Шанахан – лидер академической мысли по проблеме искусственного сознания – выложил интереснейший препринт под названием «Palatable Conceptions of Disembodied Being: Terra Incognita in the Space of Possible Minds». Я рекомендую всем коллегам из академических сообществ психологии, нейронауки, философии и искусственного интеллекта не пожалеть времени и ознакомиться с ним, также этот препринт было бы полезно оперативно, для рефлексии текущего момента, разобрать на семинарах по всем читаемым сейчас университетским курсам по психологии искусственного интеллекта. У препринта есть html-версия (https://arxiv.org/html/2503.16348v1), если есть необходимость, то можно автоматически перевести его на русский прямо в браузере.
Перевод резюме: «Возможно ли сформулировать концепцию сознания, которая была бы совместима с экзотическими характеристиками современных «бестелесных» систем ИИ и которая могла бы выдержать философскую критику? Как субъективное время и самость могли бы проявиться у сущности, соответствующей такой концепции? Попытка ответить на эти вопросы, даже метафорически, «растягивает» доступный язык описания сознания до предела. В конечном счете, такая попытка дает что-то вроде буддийской «пустоты», и помогает пошатнуть наши склонности к дуалистической интерпретации субъективности и самости».
Forwarded from AB Police 🚨 (Ivan Maksimov [ОТПУСК до 24 марта])
Т-тест VS Манн-Уитни
Холивар эпохи во многих компаниях и сообществах) Лично я стою на сторонедобра t-test. Для начала..
Чем плох тест Манна-Уитни?
Многие думают, что это критерий про равенство средних, но на самом деле это ранговый критерий про изменение распределения
H0: f_a = f_b
H1: f_a != f_b
В качестве частного (!) упрощения можно считать, что это критерий про сдвиг распределения
f_a = f(x)
f_b = f(x + dx)
H0: dx = 0
H1: dx != 0
И отсюда вытекает куча проблем
1. Теряется связь AB с финансами компании
Обычно мы подразумеваем что-то вроде
E(выручка) = E(траффик в приложении) * E(СR app start-заказ) * E(средний чек)
Ну и если мы АВ-тестом растим E(средний чек), а остальные множители серые, то мы автоматом влияем на выручку. Но зеленый прокрас по Манна-Уитни ничего не говорит про рост того самого E(средний чек) => ничего не говорит о росте E(выручка). А зачем тогда нужен АВ-тест, если мы не можем сказать в итоге, стали ли больше зарабатывать благодаря фиче?
2. Не работает с дублями значений метрики
Ну точнее формально во многих либах работает, но неправильно:) Критерий ранговый, а проставить ранг серии из одинаоквых значений (например 10К нулей) корректно нельзя. Поэтому с метриками вроде конверсии и ARPU (много нулей), стоимость доставки и средняя позиция кликнутого товара (в принципене много частотных значений) и многими другими критерий просто не применим
3. Слишком устойчив к выбросам
Нередко 1% самых активыз пользователей могут давать даже 20% выручки компании. Новой фичей мы могли вырастить у этих пользователей средний чек пусть на 2%. Это на минуточку +2% * 0,2 = 0.4% выручки компании. Для гигантов индустрии это могут быть дополнительные сотни миллионов рублей. При этом ранги значений метрики из-за этого могли вообще не поменяться: по тесту Манна-Уитни изменение серое
4. Не дружит с методами ускорения АВ
По сути, почти все методы ускорения АВ-тестов - это частный случай линейной регрессии. А она, как известно, не работает с рангами
Есть конечно ordinal regression, которую можно попытаться применить, но никаких статистических гарантий корректности уже не будет
5. Непросто считать необходимое число наблюдений для теста и MDE
Да, формулы тут нет. Придется моделировать: задача решаемая, но сильно сложнее, чем подставить пару чисел в готовую формулу
Всех этих минусов в самом обычном Т-тесте нет! У него есть и свои доп плюсы, но о них в следующий раз
Если интересно более длинный лонгрид, то у Авито есть достойная статья про минусы Манна-Уитни
Так что не усложняте, и пользуйтесь Т-тестом - это просто, корректно, ну и математически красиво 🧐
P.S. Для особо внимательных: Какая классическая ошибка в интерепретации теста Манна-Уитни изображена на картинке к посту? Взял ее на первой же странице гугла по запросу "Mann-Whitney"
Холивар эпохи во многих компаниях и сообществах) Лично я стою на стороне
Чем плох тест Манна-Уитни?
Многие думают, что это критерий про равенство средних, но на самом деле это ранговый критерий про изменение распределения
H0: f_a = f_b
H1: f_a != f_b
В качестве частного (!) упрощения можно считать, что это критерий про сдвиг распределения
f_a = f(x)
f_b = f(x + dx)
H0: dx = 0
H1: dx != 0
И отсюда вытекает куча проблем
1. Теряется связь AB с финансами компании
Обычно мы подразумеваем что-то вроде
E(выручка) = E(траффик в приложении) * E(СR app start-заказ) * E(средний чек)
Ну и если мы АВ-тестом растим E(средний чек), а остальные множители серые, то мы автоматом влияем на выручку. Но зеленый прокрас по Манна-Уитни ничего не говорит про рост того самого E(средний чек) => ничего не говорит о росте E(выручка). А зачем тогда нужен АВ-тест, если мы не можем сказать в итоге, стали ли больше зарабатывать благодаря фиче?
2. Не работает с дублями значений метрики
Ну точнее формально во многих либах работает, но неправильно:) Критерий ранговый, а проставить ранг серии из одинаоквых значений (например 10К нулей) корректно нельзя. Поэтому с метриками вроде конверсии и ARPU (много нулей), стоимость доставки и средняя позиция кликнутого товара (в принципене много частотных значений) и многими другими критерий просто не применим
3. Слишком устойчив к выбросам
Нередко 1% самых активыз пользователей могут давать даже 20% выручки компании. Новой фичей мы могли вырастить у этих пользователей средний чек пусть на 2%. Это на минуточку +2% * 0,2 = 0.4% выручки компании. Для гигантов индустрии это могут быть дополнительные сотни миллионов рублей. При этом ранги значений метрики из-за этого могли вообще не поменяться: по тесту Манна-Уитни изменение серое
4. Не дружит с методами ускорения АВ
По сути, почти все методы ускорения АВ-тестов - это частный случай линейной регрессии. А она, как известно, не работает с рангами
Есть конечно ordinal regression, которую можно попытаться применить, но никаких статистических гарантий корректности уже не будет
5. Непросто считать необходимое число наблюдений для теста и MDE
Да, формулы тут нет. Придется моделировать: задача решаемая, но сильно сложнее, чем подставить пару чисел в готовую формулу
Всех этих минусов в самом обычном Т-тесте нет! У него есть и свои доп плюсы, но о них в следующий раз
Если интересно более длинный лонгрид, то у Авито есть достойная статья про минусы Манна-Уитни
Так что не усложняте, и пользуйтесь Т-тестом - это просто, корректно, ну и математически красиво 🧐
P.S. Для особо внимательных: Какая классическая ошибка в интерепретации теста Манна-Уитни изображена на картинке к посту? Взял ее на первой же странице гугла по запросу "Mann-Whitney"
Forwarded from Neural Kovalskii
Результаты Enterprise RAG challenge (https://abdullin.com/erc/)
На сайте клацаем кнопку Show Local Models Only
На сегодня я завершаю свои исследования по локальным RAG подходам по документам и расскажу как мы заняли 4 место с разницей в 8 баллов от 70+b моделек (Локальных) и 1 первое место среди 32b моделей и Full Dense retrieval and cross-encoder reranker подходом (никаких кстати langchain и другого готового рагоделья только вайб кодинг в курсор и requests + vLLM)
Предыдущие посты на эту тему:
1) Анализ разных векторных моделек
2) Сравнение локальных моделей векторизации с 1 местом
3) Первые эксперименты
В итоге навайбкодил около 11к строк кода которые позволили показать такие результаты
Важное отступление что более 7 дней у меня в итоге заняло эксперименты по экстракту данных из PDF (карл)
И так для начала какое решение я принял сразу что-то ошибочно:
1) Никакой подготовки стендов заранее, все материалы команда и я в частности приступили изучать в день старта соревнований (взял из команды 2 человек ребята помогли вчитаться в условия и понять данные) (Вот тут рефлексия что нужно выделять как минимум неделю заранее свою что бы войти в курс дела)
2) Заранее пополнили все нужные нам сервисы для аренды локальных мощностей
3) Выкинул наш пайплайн RAG и я его стал строить с 0
4) Были заранее развернуты и заготовлены cross encoder bge-rerank + bge-m3 embedding model Арендована машина с А100 для (qwen 2.5 32b (16FP) instruct)
Первый этап парсинг данных из PDF
тут не обошлось без приключений так как внутри компании мы сконцентрировались на интеграциях к конфлюенс и системам для забора данных на документах мы давно не делали акцент по этому пошли гуглить и перебирать что же сможет нам достоверно достать данные из PDF
Перебрав около 3-5 библиотек финальный результат был сделан на библиотеке Marker
Далее чанкование и векторизация
Ничего нового каждая страница была разбита на чанки по 400 токенов с перекрытием в 80 токенов и дальше векторизирована батчами в сервис vLLM где развернута модель bge-m3
Далее под каждый док была созданная коллекция и настроены модели данных (что бы при запросе на KNN возвращать чанки номер страницы с которой он был взят и путь до файла где есть фулл контент страницы как потом я выяснил данный подход называется Parent Document Extraction)
Роутинг был заранее понятен из названия компаний и документов к ним в сабсет там были названя компаний их легко было смэтчить с документами(это я ксатит понял только почти в самом конце и выкинул роутинг совсем)
И так из приятного в сабсете(датасет) изначально указаны типы по этому были составлены через клод промпты под каждый тип запроса
Ну и пошли прогоны (прогонял я систему наверное раз 40 не менее)
Каждый раз вчитываясь что же она отвечает
Ищем чанки внутри дока через KNN
Ранжируем через bge-reranker (cross-encoder)
Передаем в ллм с CoT+SO для ответа
Были проблемы и с множественными вопросами но как показала моя практика курсор (в 20 итераций) смог учесть эти особенности и неплохо обработал этот формат
Как итог часть этих наработок уже ушла в наш прод продукт Smart Platform которая нацелена решать проблему создания RAG агентов для крупных компаний на локальных мощностях
Stay Tuned!
Скоро будет большой анонс нашей платформы будем с нашим CPO рассказывать что же мы там ваяли за год
P.S мы уже провели внутренние демо нашего продукта получили очень позитивный фидбек! Значит движемся куда нужно!
На сайте клацаем кнопку Show Local Models Only
На сегодня я завершаю свои исследования по локальным RAG подходам по документам и расскажу как мы заняли 4 место с разницей в 8 баллов от 70+b моделек (Локальных) и 1 первое место среди 32b моделей и Full Dense retrieval and cross-encoder reranker подходом (никаких кстати langchain и другого готового рагоделья только вайб кодинг в курсор и requests + vLLM)
Предыдущие посты на эту тему:
1) Анализ разных векторных моделек
2) Сравнение локальных моделей векторизации с 1 местом
3) Первые эксперименты
В итоге навайбкодил около 11к строк кода которые позволили показать такие результаты
Важное отступление что более 7 дней у меня в итоге заняло эксперименты по экстракту данных из PDF (карл)
И так для начала какое решение я принял сразу что-то ошибочно:
1) Никакой подготовки стендов заранее, все материалы команда и я в частности приступили изучать в день старта соревнований (взял из команды 2 человек ребята помогли вчитаться в условия и понять данные) (Вот тут рефлексия что нужно выделять как минимум неделю заранее свою что бы войти в курс дела)
2) Заранее пополнили все нужные нам сервисы для аренды локальных мощностей
3) Выкинул наш пайплайн RAG и я его стал строить с 0
4) Были заранее развернуты и заготовлены cross encoder bge-rerank + bge-m3 embedding model Арендована машина с А100 для (qwen 2.5 32b (16FP) instruct)
Первый этап парсинг данных из PDF
тут не обошлось без приключений так как внутри компании мы сконцентрировались на интеграциях к конфлюенс и системам для забора данных на документах мы давно не делали акцент по этому пошли гуглить и перебирать что же сможет нам достоверно достать данные из PDF
Перебрав около 3-5 библиотек финальный результат был сделан на библиотеке Marker
Далее чанкование и векторизация
Ничего нового каждая страница была разбита на чанки по 400 токенов с перекрытием в 80 токенов и дальше векторизирована батчами в сервис vLLM где развернута модель bge-m3
Далее под каждый док была созданная коллекция и настроены модели данных (что бы при запросе на KNN возвращать чанки номер страницы с которой он был взят и путь до файла где есть фулл контент страницы как потом я выяснил данный подход называется Parent Document Extraction)
Роутинг был заранее понятен из названия компаний и документов к ним в сабсет там были названя компаний их легко было смэтчить с документами(это я ксатит понял только почти в самом конце и выкинул роутинг совсем)
И так из приятного в сабсете(датасет) изначально указаны типы по этому были составлены через клод промпты под каждый тип запроса
Ну и пошли прогоны (прогонял я систему наверное раз 40 не менее)
Каждый раз вчитываясь что же она отвечает
Ищем чанки внутри дока через KNN
Ранжируем через bge-reranker (cross-encoder)
Передаем в ллм с CoT+SO для ответа
Были проблемы и с множественными вопросами но как показала моя практика курсор (в 20 итераций) смог учесть эти особенности и неплохо обработал этот формат
Как итог часть этих наработок уже ушла в наш прод продукт Smart Platform которая нацелена решать проблему создания RAG агентов для крупных компаний на локальных мощностях
Stay Tuned!
Скоро будет большой анонс нашей платформы будем с нашим CPO рассказывать что же мы там ваяли за год
P.S мы уже провели внутренние демо нашего продукта получили очень позитивный фидбек! Значит движемся куда нужно!
Forwarded from Neural Kovalskii
Кстати схема работы моего решения) Если смотреть между строк почти ничем не отличается от других топ решений