Я в телевизоре
Не секрет, что последние полгода занимаюсь задачами связанными с семантиками. Но перед самими семантиками нужно получить вектор айтема. И так получилось что лучше всего у нас зашла deepvk/USER-BGE-M3 моделька из hf. Решили катить ее в прод.
Наш прод сетап: тритон + обертка. Сами модели в onnx формате. И оказалось, что в onnx модели не работает FA (никакой вообще), если модель принимает на вход маску. Ну а у нас работа с текстом - без маски не куда. И когда катнули в прод - модель работала медленее торча из коробки. Пошли разбираться.
И в такой ситуации благодаря кодексу получилось законтребьютить фикс . Суть фикса простая - обработать случай с маской и передавать в вызов cudNN (либа для работы с нейронками на c++) . Onnx сделать поверх нее.
И вот на прошлой недели релизнули 1.29.0 с этим фиксом. Это мой первый опенсорс контрибьют и он не был очень сложным.
Также в либы есть соглашение , где надо поставить галочку что кодом можно пользоваться, при этом права на код остаются за разработчиком. Для контраста, код который пишется в компании, как будто самому разрабу не принадлежит, а тут есть ощущение, что свой кусочек полетит скоро ко всем на серваки :)
Не секрет, что последние полгода занимаюсь задачами связанными с семантиками. Но перед самими семантиками нужно получить вектор айтема. И так получилось что лучше всего у нас зашла deepvk/USER-BGE-M3 моделька из hf. Решили катить ее в прод.
Наш прод сетап: тритон + обертка. Сами модели в onnx формате. И оказалось, что в onnx модели не работает FA (никакой вообще), если модель принимает на вход маску. Ну а у нас работа с текстом - без маски не куда. И когда катнули в прод - модель работала медленее торча из коробки. Пошли разбираться.
И в такой ситуации благодаря кодексу получилось законтребьютить фикс . Суть фикса простая - обработать случай с маской и передавать в вызов cudNN (либа для работы с нейронками на c++) . Onnx сделать поверх нее.
И вот на прошлой недели релизнули 1.29.0 с этим фиксом. Это мой первый опенсорс контрибьют и он не был очень сложным.
Также в либы есть соглашение , где надо поставить галочку что кодом можно пользоваться, при этом права на код остаются за разработчиком. Для контраста, код который пишется в компании, как будто самому разрабу не принадлежит, а тут есть ощущение, что свой кусочек полетит скоро ко всем на серваки :)