prefill большого инпута весь compute-capacity выедает, но вообще с этим тоже уже есть средство борьбы — chunked prefill, по сути это разбиение долгой задачи на несколько задач поменьше, чтобы между ними промежутки под decode появились.
Отставание других языков в приложении к DS на волне LLM стало настолько разительным, что сейчас уже даже самым упрямым любителям "your favorite language name" стало проще рядом микросервис на Python поднять, чем пытаться что-то делать на родном-любимом.
Кажется, что раз уж вы всё равно взялись свою либу пилить, то оптимальный вариант — это либа на компилируемом языке, по аналогии с каким-нибудь numpy, только помельче.
Ему и то и другое нужно, memory bandwidth bound означает, что при свободном gpu он упрётся в пропускную способность памяти, а не в вычисления.
prefill большого инпута весь compute-capacity выедает, но вообще с этим тоже уже есть средство борьбы — chunked prefill, по сути это разбиение долгой задачи на несколько задач поменьше, чтобы между ними промежутки под decode появились.
А потом в проекте появляется torch и transformers, и добро пожаловать в мир тридцатиминутных сборок и образов по 10 гигов 🙈
Самовоспроизведение — это действительно удивительное свойство, если вам интересно про это почитать, то можно начать с "Кинематики самовоспроизводящихся машин": https://archive.org/details/kinematic-self-replicating
Так же есть перевод на русский: https://t.me/ntstg/425
Отставание других языков в приложении к DS на волне LLM стало настолько разительным, что сейчас уже даже самым упрямым любителям "your favorite language name" стало проще рядом микросервис на Python поднять, чем пытаться что-то делать на родном-любимом.
Так и рисует, сразу в LaTeX.
*символ
Последовательность вычислений не статична, а зависит от промпта, измените один сиивод на входе и во всех операциях поменяются аргументы.
Спасибо за то, что поделились своими мыслями :)
Хороший тезис про осознание цепочки мыслей, позволяющее осознанно отменять архитектурные решения.
Колоссальный объём работы! Спасибо вам большое за то, что делитесь своими наработками — значимость этого трудно переоценить.
Видеокарты для инференса нужны, я полагаю, а тут можно готовым API воспользоваться.
Очень круто, спасибо большое за такое оперативное внедрение!
Подскажите, а вы перед подачей текстов в RAG проводили их подготовку (разбиение на чанки, приведение в специальный формат)?
Отличная статья, спасибо! А как пользователи реагируют на редактирование их контента? Не было ли негативной реакции?
А может быть просто спрашивать такие вещи, на которые ассистент не сможет ответить, а специалист сможет?
Да не, ерунда какая-то, алгособесы прекрасно работают 🤭
Поиск, облако, драйв и образовательные программы в РФ остались, там всё весьма запутанно.
Почитал по диагонали код rust-либы — похоже основная причина выигрыша в том, что код на python и код на rust делают разные вещи.
Rust на каждый вызов полноценно разбирает json, а Python результаты разбора кэширует и дальше просто выполняет операции :)
Хорошая оптимизация!
Интересный результат, а почему так, не разбирались? 80 микросекунд против 300 наносекунд — это не похоже на время исполнения.
Любопытно :)
Кажется, что раз уж вы всё равно взялись свою либу пилить, то оптимальный вариант — это либа на компилируемом языке, по аналогии с каким-нибудь numpy, только помельче.
А как это должно работать?
Запустить тритон в сайдкаре и по grpc в него ходить? А зачем тогда акведук в этой цепочке?
А что вы думаете об использовании Nvidia Triton? Стандартное решение по нынешним временам)
Лайк за картинки с вращающимся сыром 🧀