моя контактная информация
Почтамезофия@protonmail.com
2024-07-16
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Отчет о сердце машины
Редакция «Машинное сердце»
Если у вас есть запасное оборудование, возможно, вы захотите попробовать.
На этот раз аппаратное оборудование в ваших руках также может проявить свои таланты в области искусственного интеллекта.
Объединив iPhone, iPad и Macbook, вы можете собрать «решение для вывода гетерогенного кластера», а затем плавно запустить модель Llama3.
Стоит отметить, что этот гетерогенный кластер может представлять собой систему Windows, Linux или iOS, а поддержка Android появится в ближайшее время.
Гетерогенный кластер работает.
По словам автора проекта @evilsocket, в этот гетерогенный кластер входят iPhone 15 Pro Max, iPad Pro, MacBook Pro (M1 Max), NVIDIA GeForce 3080 и 2x NVIDIA Titan X Pascal. Весь код загружен на GitHub.
Увидев это, пользователи сети отметили, что этот старик действительно непрост.
Однако некоторые пользователи сети начинают беспокоиться о потреблении энергии. Независимо от скорости, они не могут позволить себе счета за электроэнергию. Перемещение данных туда и обратно приводит к слишком большим потерям.
Введение проекта
Реализация вышеперечисленных функций неотделима от фреймворка Rust под названием Cake. Cake может выполнять распределенный вывод больших моделей (таких как Llama3) и предназначен для объединения аппаратного обеспечения потребительского уровня в гетерогенные кластеры. Аппаратное обеспечение потребительского уровня использует различные операционные системы, включая: iOS, Android, macOS, Linux и Windows. чтобы ИИ стал более доступным.
Адрес проекта: https://github.com/evilsocket/cake
Основная идея Cake заключается в том, чтобы сегментировать фрагменты преобразователя на нескольких устройствах, чтобы иметь возможность выполнять логические выводы на моделях, которые обычно не помещаются в память графического процессора одного устройства. Вывод по последовательным блокам преобразователя в одном и том же рабочем потоке выполняется пакетно, чтобы минимизировать задержки, вызванные передачей данных.
В настоящее время Cake поддерживает следующие системы и устройства:
компилировать
После установки Rust запустите следующий код:
сборка груза --выпуск
Если пользователь хочет создать привязки iOS в приложении, он может сделать следующее:
сделать ios
использовать
Запустите рабочий узел:
cake-cli --model /path/to/Meta-Llama-3-8B # путь к модели, читайте ниже о том, как оптимизировать размер модели для рабочих процессов
--mode worker # запустить как worker
--name worker0 # имя работника в файле топологии
--topology топология.yml # топология
--address 0.0.0.0:10128 # адрес привязки
Запустите мастер-ноду:
cake-cli --model /путь/к/Meta-Llama-3-8B
--топология топология.yml
Среди них topology.yml определяет, какие слои какими воркёрами обслуживаются:
linux_server_1:
хост: 'linux_server.host:10128'
описание: «NVIDIA Titan X Pascal (12 ГБ)»
слои:
- 'модель.слои.0-5'
linux_server_2:
хост: 'linux_server2.host:10128'
описание: «NVIDIA GeForce 3080 (10 ГБ)»
слои:
- 'модель.слои.6-16'
айфон:
хост: 'iphone.host:10128'
описание: «iPhone 15 Pro Max»
слои:
- 'модель.слои.17'
айпад:
хост: 'ipad.host:10128'
описание: 'iPad'
слои:
- 'модель.слои.18-19'
макбук:
хост: 'macbook.host:10128'
описание: «М1 Макс»
слои:
- 'модель.слои.20-31'
Что касается проблем оптимизации памяти и дискового пространства, пользователи могут захотеть предоставить работникам только те данные, которые действительно необходимы в модели, а не всю папку, и в этом случае можно использовать модель разделения торта. Например, чтобы создать уменьшенную версию защитных тензоров llama3, вы можете использовать следующий код:
cake-split-model --model-path path/to/Meta-Llama-3-8B # исходная модель для разделения
--topology path/to/topology.yml # файл топологии
--output имя-выводной-папки
Ссылка на ссылку: https://x.com/tuturetom/status/1812654489972973643