The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Первый выпуск инструмента llamafile от Mozilla

30.11.2023 16:30

Разработчики из компании Mozilla представили первый выпуск утилиты llamafile, позволяющей создавать универсальные исполняемые файлы для запуска больших языковых моделей машинного обучения (LLM). При помощи llamafile можно взять файл с параметрами модели машинного обучения в формате GGUF и преобразовать его в исполняемый файл, который может запускаться в шести различных операционных системах на оборудовании с процессорами AMD64 и ARM64. Инструментарий написан на С/С++ и распространяется под лицензией Apache 2.0.

Для выполнения моделей задействован фреймворк llama.cpp с реализацией модели LLaMA на C/C++, который компилируется в универсальный исполняемый файл в формате APE (Actually Portable Executable), объединяемый с файлом модели. Скомпилированный код связывается со стандартной Си-библиотекой Cosmopolitan дающей возможность создавать сборки приложений, запускаемые в Linux, FreeBSD, macOS, OpenBSD, NetBSD и Windows. Код сохраняется в вариантах для архитектур AMD64 и ARM64, и также включает компоненты для выноса вычислений на GPU NVIDIA (используется CUDA).

  1. Главная ссылка к новости (https://hacks.mozilla.org/2023...)
  2. OpenNews: Для GCC подготовлены патчи для сборки универсальных исполняемых файлов
  3. OpenNews: Выпуск стандартной Си-библиотеки Cosmopolitan 2.0, развиваемой для переносимых исполняемых файлов
  4. OpenNews: Redbean 2.0 - платформа для web-приложений, упакованных в универсальный исполняемый ZIP-архив
  5. OpenNews: Опубликован OpenChatKit, инструментарий для создания чатботов
  6. OpenNews: Первый выпуск открытого AI-бота OpenAssistant, напоминающего ChatGPT
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/60206-llama
Ключевые слова: llama, cosmopolitan, ai
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (34) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 16:54, 30/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +18 +/
    Чем бы Mozilla не тешилась, лиш бы браузер не пилила.
     
     
  • 2.3, Анонин (?), 17:27, 30/11/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так это попытка в диверсификацию.
    На браузере на разработку не заработаешь - юзербейз нищуки, даже за копейку удавятся.
    Доп.сервисы типа vpn или storage им не продашь, на платные интеграции вроде покета реагируют неадекватно.
    Спасибо щедрости гугла - они еще на плаву. Но это не будет продолжаться вечно, вот они и ищут альтернативы.
    Жаль, что в свое время FirefoxOS не взлетел.
     
     
  • 3.16, Аноним (16), 20:02, 30/11/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >в диверсификацию

    Можно сказать, в diversity. Дармоедов альтернативных местоимений и одарённостей держать хочется, но им надо выдать задание. Плевать, что абсолютно бесполезное, главное - чтобы чем-то их занять, чтобы обосновать перед госрегулятором необходимость держать их в штате.

     
     
  • 4.19, Гость (??), 21:26, 30/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А причем тут гос. регулятор?! это альтернативно одаренные активисты за это, сейчас как раз на сколько я понял суды идут на эту тему и бабки с организаций выбивают за нарушение федерального закона запрещающего расизм и сексизм. https://www.youtube.com/watch?v=e7dNwYi8ZAM
     
     
  • 5.22, Аноним (22), 22:21, 30/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Притом, что если держат чела в штате, который ничего не делает, то налоговая не оценит и компания не сможет доказать, что не верблюд, пришьют willful blindness как минимум. А так - вот есть работа и результаты в виде никому не нужной либы, зряплата - за неё. Diversity - check, рабочие места созданы, доходы человеком получены, налоги - заплачены, у налоговой - никаких претензий.
     
  • 4.27, Аноним (27), 01:22, 01/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    С третьего коммента озабоченные пошли. И ведь ничто не предвещало, просто слово похожее увидели.
     
  • 2.4, Kuromi (ok), 17:32, 30/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А теперь вспомним недавний пост в блоге Мозиллы в котором они объявили AI своим главным интересов на ближайшие годы\десятилетия и сделаем выводы. ФФ теперь "старый" продукт, который все больше становится чемоданом без ручки.
     
  • 2.5, Аноним (5), 17:33, 30/11/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это хорошо.
    2023:
    https://opennet.ru/58845-mozilla
    2022:
    https://opennet.ru/58038-mozilla
    2015:
    https://opennet.ru/43510-openai

     
  • 2.6, Аноним (27), 17:45, 30/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мозилла обязана исключительно браузером заниматься. Именно анониму обязана.
     

  • 1.2, InuYasha (??), 17:26, 30/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Так вот чей зад надирал Winamp! )
     
     
  • 2.11, Аноним (11), 19:26, 30/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Олдфаги в треде (╯°□°)╯
     

  • 1.7, RarogCmex2 (?), 18:08, 30/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Разработчик gguf и llama.cpp, кстати, русский
     
     
  • 2.8, Ангним (?), 18:39, 30/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Наши опять вперди планеты всей
     
  • 2.9, Анон из села Кукуево (?), 19:06, 30/11/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это он тебе сказал или сам выдумал?
     
  • 2.10, x0r (??), 19:10, 30/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А не Болгарин?
     
  • 2.20, Аноним (-), 21:56, 30/11/2023 Скрыто ботом-модератором
  • +/
     
  • 2.31, Аноним (31), 09:40, 01/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Как определили? По гаплогруппе, родному языку, вторичным признакам, архивным данным, личному убеждению?
     
     
  • 3.38, Аноним (38), 20:35, 01/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Силой почувствовал
     

  • 1.17, Аноним (17), 20:05, 30/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >в формате GGUF

    Напоминаю: единственным актуальным форматом моделей является ONNX. SafeTensors - это не формат моделей, это формат сериализации, сделанный из NIH-синдрома (numpy.npy в zip-архиве с нулевым сжатием и выравниванием (zipalign) был бы намного лучше).

     
     
  • 2.24, morphe (?), 23:27, 30/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > ONNX

    ONNX рантайм достаточно жирный, и не имеет особого смысла для моделей вроде llama, для которых инференс можно написать на коленке без особых просадок по производительности.

    Его преимущество в возможности компилироваться под произвольные архитектуры и ускорители, но если задача поддерживать лишь пару архитектур - то его JIT компиляция становится лишь минусом.

     
     
  • 3.34, Аноним (34), 11:55, 01/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >ONNX рантайм достаточно жирный

    Это Micro$oft виновата - все либы слинкованы статически, включая протобуф. И перекомпилированны. Гугл покусал. Не смотря на то, что для сборки используется CMake, подход к зависимостям - как в Базеле. Если делать всё по уму, большая часть либ будет переиспользована системная. При этом onnxruntime умеет и в GPU, и в оптимизации, причём обгоняет хвалёный Apache TVM, который оптимизирует и компилирует ONNX-модели в Vulkan, OpenCL или оптимизированный машинный код для CPU, по производительности (да, onnxruntime на CPU обгоняет TVM на Vulkan). Формат ONNX позволяет лёгкую интеграцию моделей в свои программы, так как файл модели есть законченная программа, а не набор тензоров, который надо обвесить своим кодом. Также формат ONNX позволяет делать на моделях хирургию: я так резал одну модель (mobile-ViT от Apple) посередине с целью извлечения векторного представления.

    >Его преимущество в возможности компилироваться под произвольные архитектуры и ускорители, но если задача поддерживать лишь пару архитектур - то его JIT компиляция становится лишь минусом.

    Ну возможность инферить на GPU - это жирный плюс. Возможность легко интегрировать в свои программы на любом ЯП - это жирный плюс.

     
     
  • 4.35, morphe (?), 12:45, 01/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Это Micro$oft виновата - все либы слинкованы статически

    А я не в этом смысле жирный говорю. В ONNX есть огромная библиотека функций, все из которых нужно собирать себе в программу для подгрузки ONNX моделей, его не сделать менее жирным вынесением protobuf и прочего.

    > Ну возможность инферить на GPU - это жирный плюс

    Не везде это полезно, многие модели не влезут в consumer-grade GPU, а для остальных моделей инференс на процессоре зачастую быстрее, поскольку копирование данных CPU->GPU занимает больше времени чем сам инференс.

    > Возможность легко интегрировать в свои программы на любом ЯП - это жирный плюс.

    Ровно как и FFI. ONNX позволяет быстрее довести модель от прототипа до прода, но не всегда эффективнее. Для эффективности всё таки проще реализовать оптимизированную модель руками в коде, и грузить только веса.

     
     
  • 5.36, Аноним (36), 16:13, 01/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Для эффективности всё таки проще реализовать оптимизированную модель руками в коде, и грузить только веса.

    Не факт, что один человек может руками оптимизировать модель лучше, чем автоматический оптимизатор и JIT-компилятор, вылизанный командой специалистов ведущей ИИ-корпорации.

    >В ONNX есть огромная библиотека функций, все из которых нужно собирать себе в программу для подгрузки ONNX моделей, его не сделать менее жирным вынесением protobuf и прочего.

    Это всё части рантайма, который устанавливается один раз и используется ваеми программами совместно.

    >для остальных моделей инференс на процессоре зачастую быстрее, поскольку копирование данных CPU->GPU занимает больше времени чем сам инференс.

    Это явно не случай LLM. llama.cpp взлетела именно потому, что это маленькая программа, которая игрушка, которая сравнительно независима от железа, которая заведётся везде, где есть C++ и AVX/NEON. Но у меня инференс на CPU даже минимальной модели alpaca очень тормозит. Для трансформеров инференс на GPU должен дать значительное преимущество.

     
     
  • 6.39, morphe (?), 22:48, 01/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Не факт, что один человек может руками оптимизировать модель лучше, чем автоматический оптимизатор и JIT-компилятор, вылизанный командой специалистов ведущей ИИ-корпорации.

    Как только модель готова - оптимизированная версия пишется достаточно просто

    > Это всё части рантайма, который устанавливается один раз и используется ваеми программами совместно.

    Очень редко на конечном компьютере из ONNX исполняется всё, обычно как раз используется с десяток функций из тысячи имеющихся)

    > Это явно не случай LLM

    Именно. Потому что LLM не остальные модели, LLM именно что тяжело вместить в память consumer-grade GPU.
    Для подобных вещей однако можно вынести на GPU лишь часть вычислений, например с BLAS/compute шейдером, и по скорости получится как раз бесплатный ChatGPT.

    ONNX однако не очень способен исполнять модель гибридно.

     
  • 2.26, Аноним (-), 00:37, 01/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >  Напоминаю: единственным актуальным форматом моделей является ONNX.
    > SafeTensors - это не формат моделей, это формат сериализации, сделанный
    > из NIH-синдрома (numpy.npy в zip-архиве с нулевым сжатием и выравниванием (zipalign)
    > был бы намного лучше).

    Эк питоняш штырит то. А таки это LLMное добро довольно популярно стало - на волне чатгопоты. И моделей в вон тех форматах - есть. А ONNX там никому и не уперся походу.

     
     
  • 3.37, Аноним (36), 16:14, 01/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да были конверторы на гитхабе.
     

  • 1.23, Аноним (23), 22:55, 30/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    GGUF
    гуф умер, прекратите откапывать стюардессу!
     
  • 1.25, Аноним (-), 00:34, 01/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Инструментарий написан на С/С++

    Это точно мозилла и я не сплю? У них еще есть нормальные кодеры?

    > и распространяется под лицензией Apache 2.0.

    А, наверное все же мозилла...

    > Для выполнения моделей задействован фреймворк llama.cpp
    > с реализацией модели LLaMA на C/C++,

    Ящерки перехватили управление мозиллой и поработили разум руководства и кодеров?

    > который компилируется в
    > универсальный исполняемый файл
    > в формате APE (Actually Portable Executable)

    А давно мозилла в такие продвинутости научилась то? Ящерки, вы палитесь, мозилла такие системные навороты сама отродясь не умела!

     
     
  • 2.28, Аноним (28), 04:11, 01/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Погляди историю коммитов, лол.

    llamafile пилит Justine (ex-Justin) Tunney — автор Cosmopolitan runtime, формата APE и сервера redbean2.

     
  • 2.32, Аноним (31), 09:41, 01/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > У них еще есть нормальные кодеры?

    Они там и есть. Остальные либо пузырь надувают, либо троянством занимаются.

     

  • 1.29, Аноним (29), 06:48, 01/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Инструментарий написан на С/С++

    Даже создатели Rust его не продвигают)

     
     
  • 2.30, Аноним (30), 08:48, 01/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Всё поняли и задвинули обратно.
     
  • 2.33, Аноним (31), 09:42, 01/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А он типа Windows - экспортный товар. А для себя - самое лучшее.
     

  • 1.40, Аноним (-), 23:58, 01/12/2023 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]
  • +/
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру