# Секция 1: Основи на конвертиране на формат на модели и квантизация Конвертирането на формат на модели и квантизацията представляват ключови напредъци в EdgeAI, позволявайки сложни възможности за машинно обучение на устройства с ограничени ресурси. Разбирането как ефективно да се конвертират, оптимизират и внедряват модели е от съществено значение за изграждането на практични AI решения за периферни устройства. ## Въведение В този урок ще разгледаме техники за конвертиране на формат на модели и квантизация, както и стратегии за тяхното усъвършенствано внедряване. Ще обхванем основните концепции за компресиране на модели, границите и класификациите на форматите, техники за оптимизация и практични стратегии за внедряване в периферни изчислителни среди. ## Цели на обучението До края на този урок ще можете: - 🔢 Да разберете границите на квантизацията и класификациите на различни нива на прецизност. - 🛠️ Да идентифицирате ключови техники за конвертиране на формат за внедряване на модели на периферни устройства. - 🚀 Да научите усъвършенствани стратегии за квантизация и компресиране за оптимизирано извеждане. ## Разбиране на границите и класификациите на квантизацията на модели Квантизацията на модели е техника, предназначена да намали прецизността на параметрите на невронните мрежи с значително по-малко битове от техните пълно-прецизни еквиваленти. Докато пълно-прецизните модели използват 32-битови представяния с плаваща запетая, квантизираните модели са специално проектирани за ефективност и внедряване на периферни устройства. Рамката за класификация на прецизността ни помага да разберем различните категории на нивата на квантизация и техните подходящи случаи на употреба. Тази класификация е от решаващо значение за избора на правилното ниво на прецизност за специфични периферни изчислителни сценарии. ### Рамка за класификация на прецизността Разбирането на границите на прецизността помага при избора на подходящи нива на квантизация за различни периферни изчислителни сценарии: - **🔬 Ултра-ниска прецизност**: Квантизация от 1-бит до 2-бит (екстремна компресия за специализиран хардуер) - **📱 Ниска прецизност**: Квантизация от 3-бит до 4-бит (балансирана производителност и ефективност) - **⚖️ Средна прецизност**: Квантизация от 5-бит до 8-бит (приближаваща се до пълно-прецизни възможности, като същевременно запазва ефективността) Точната граница остава гъвкава в изследователската общност, но повечето практици считат 8-бит и по-ниско като "квантизирани", като някои източници задават специализирани прагове за различни хардуерни цели. ### Основни предимства на квантизацията на модели Квантизацията на модели предлага няколко основни предимства, които я правят идеална за приложения в периферни изчисления: **Оперативна ефективност**: Квантизираните модели осигуряват по-бързо време за извеждане благодарение на намалената изчислителна сложност, което ги прави идеални за приложения в реално време. Те изискват по-малко изчислителни ресурси, което позволява внедряване на устройства с ограничени ресурси, като същевременно консумират по-малко енергия и поддържат намален въглероден отпечатък. **Гъвкавост при внедряване**: Тези модели позволяват AI възможности на устройството без изисквания за интернет свързаност, подобряват поверителността и сигурността чрез локална обработка, могат да бъдат персонализирани за специфични приложения и са подходящи за различни периферни изчислителни среди. **Икономическа ефективност**: Квантизираните модели предлагат икономически ефективно обучение и внедряване в сравнение с пълно-прецизните модели, с намалени оперативни разходи и по-ниски изисквания за честотна лента за периферни приложения. ## Усъвършенствани стратегии за придобиване на формат на модели ### GGUF (Общ универсален формат GGML) GGUF служи като основен формат за внедряване на квантизирани модели на CPU и периферни устройства. Форматът предоставя обширни ресурси за конвертиране и внедряване на модели: **Функции за откриване на формат**: Форматът предлага усъвършенствана поддръжка за различни нива на квантизация, съвместимост на лицензи и оптимизация на производителността. Потребителите могат да получат достъп до съвместимост между платформи, показатели за производителност в реално време и поддръжка на WebGPU за внедряване в браузъра. **Колекции от нива на квантизация**: Популярни формати за квантизация включват Q4_K_M за балансирана компресия, серията Q5_K_S за приложения, фокусирани върху качеството, Q8_0 за почти оригинална прецизност и експериментални формати като Q2_K за внедряване с ултра-ниска прецизност. Форматът също така включва вариации, водени от общността, със специализирани конфигурации за специфични области и както универсални, така и оптимизирани за инструкции варианти за различни случаи на употреба. ### ONNX (Отворен обмен на невронни мрежи) Форматът ONNX предоставя съвместимост между рамки за квантизирани модели с подобрени интеграционни възможности: **Интеграция за предприятия**: Форматът включва модели с поддръжка на корпоративно ниво и възможности за оптимизация, включително динамична квантизация за адаптивна прецизност и статична квантизация за производствено внедряване. Той също така поддържа модели от различни рамки със стандартизирани подходи за квантизация. **Предимства за предприятия**: Вградени инструменти за оптимизация, внедряване между платформи и хардуерно ускорение са интегрирани в различни двигатели за извеждане. Директната поддръжка на рамки със стандартизирани API, интегрирани функции за оптимизация и цялостни работни потоци за внедряване подобряват корпоративния опит. ## Усъвършенствани техники за квантизация и оптимизация ### Рамка за оптимизация Llama.cpp Llama.cpp предоставя най-съвременни техники за квантизация за максимална ефективност при внедряване на периферни устройства: **Методи за квантизация**: Рамката поддържа различни нива на квантизация, включително Q4_0 (4-битова квантизация с отлично намаляване на размера - идеална за мобилно внедряване), Q5_1 (5-битова квантизация, балансираща качество и компресия - подходяща за периферно извеждане) и Q8_0 (8-битова квантизация за почти оригинално качество - препоръчана за производствена употреба). Усъвършенствани формати като Q2_K представляват най-съвременна компресия за екстремни сценарии. **Ползи от внедряването**: Оптимизирано извеждане на CPU със SIMD ускорение осигурява ефективно зареждане и изпълнение на модели. Съвместимост между платформи за архитектури x86, ARM и Apple Silicon позволява внедряване, независимо от хардуера. **Сравнение на паметния отпечатък**: Различните нива на квантизация предлагат различни компромиси между размера на модела и качеството. Q4_0 осигурява приблизително 75% намаление на размера, Q5_1 предлага 70% намаление с по-добро запазване на качеството, а Q8_0 постига 50% намаление, като същевременно запазва почти оригиналната производителност. ### Оптимизационен пакет Microsoft Olive Microsoft Olive предлага цялостни работни потоци за оптимизация на модели, предназначени за производствени среди: **Техники за оптимизация**: Пакетът включва динамична квантизация за автоматичен избор на прецизност, оптимизация на графики и сливане на оператори за подобрена ефективност, хардуерно-специфични оптимизации за внедряване на CPU, GPU и NPU и многоетапни оптимизационни тръбопроводи. Специализирани работни потоци за квантизация поддържат различни нива на прецизност от 8-бит до експериментални конфигурации с 1-бит. **Автоматизация на работния поток**: Автоматизирано тестване на различни варианти на оптимизация гарантира запазване на качествените показатели по време на оптимизацията. Интеграцията с популярни ML рамки като PyTorch и ONNX предоставя възможности за оптимизация както за облачно, така и за периферно внедряване. ### Рамка Apple MLX Apple MLX предоставя родна оптимизация, специално проектирана за устройства с Apple Silicon: **Оптимизация за Apple Silicon**: Рамката използва унифицирана архитектура на паметта с интеграция на Metal Performance Shaders, автоматично извеждане с смесена прецизност и оптимизирано използване на паметната честотна лента. Моделите показват изключителна производителност на чиповете от серията M с оптимален баланс за различни внедрения на устройства на Apple. **Функции за разработка**: Поддръжка на Python и Swift API с операции, съвместими с NumPy, възможности за автоматична диференциация и безпроблемна интеграция с инструментите за разработка на Apple предоставят цялостна среда за разработка. ## Стратегии за производствено внедряване и извеждане ### Ollama: Опростено локално внедряване Ollama опростява внедряването на модели с функции, готови за предприятия, за локални и периферни среди: **Възможности за внедряване**: Инсталиране и изпълнение на модели с една команда с автоматично изтегляне и кеширане на модели. Поддръжка за различни квантизирани формати с REST API за интеграция на приложения и възможности за управление и превключване между множество модели. Усъвършенстваните нива на квантизация изискват специфична конфигурация за оптимално внедряване. **Усъвършенствани функции**: Поддръжка за персонализирано фино настройване на модели, генериране на Dockerfile за контейнеризирано внедряване, GPU ускорение с автоматично откриване и опции за квантизация и оптимизация на модели предоставят цялостна гъвкавост при внедряване. ### VLLM: Високопроизводително извеждане VLLM предлага оптимизация за извеждане на производствено ниво за сценарии с висока пропускателна способност: **Оптимизации на производителността**: PagedAttention за ефективно изчисление на вниманието, динамично групиране за оптимизация на пропускателната способност, паралелизъм на тензори за мащабиране на множество GPU и спекулативно декодиране за намаляване на латентността. Усъвършенстваните формати за квантизация изискват специализирани ядра за извеждане за оптимална производителност. **Интеграция за предприятия**: API крайни точки, съвместими с OpenAI, поддръжка за внедряване в Kubernetes, интеграция за наблюдение и видимост и възможности за автоматично мащабиране предоставят решения за внедряване на корпоративно ниво. ### Решения на Microsoft за периферни устройства Microsoft предоставя цялостни възможности за внедряване на периферни устройства за корпоративни среди: **Функции за периферни изчисления**: Дизайн на архитектура с приоритет на офлайн работа с оптимизация за ограничени ресурси, управление на локален регистър на модели и възможности за синхронизация между периферни устройства и облак осигуряват надеждно внедряване на периферни устройства. **Сигурност и съответствие**: Локална обработка на данни за запазване на поверителността, корпоративни контроли за сигурност, регистриране на одити и докладване за съответствие и управление на достъпа на базата на роли предоставят цялостна сигурност за внедрявания на периферни устройства. ## Най-добри практики за внедряване на квантизация на модели ### Насоки за избор на ниво на квантизация При избора на нива на квантизация за внедряване на периферни устройства, вземете предвид следните фактори: **Съображения за броя на прецизността**: Изберете ултра-ниска прецизност като Q2_K за екстремни мобилни приложения, ниска прецизност като Q4_K_M за балансирани сценарии на производителност и средна прецизност като Q8_0, когато се приближавате до пълно-прецизни възможности, като същевременно запазвате ефективността. Експерименталните формати предлагат специализирана компресия за специфични изследователски приложения. **Съответствие с случаите на употреба**: Съобразете възможностите за квантизация със специфичните изисквания на приложението, като вземете предвид фактори като запазване на точността, скорост на извеждане, ограничения на паметта и изисквания за офлайн работа. ### Избор на стратегия за оптимизация **Подход към квантизацията**: Изберете подходящи нива на квантизация въз основа на изискванията за качество и хардуерните ограничения. Вземете предвид Q4_0 за максимална компресия, Q5_1 за балансирани компромиси между качество и компресия и Q8_0 за запазване на почти оригиналното качество. Експерименталните формати представляват границата на екстремната компресия за специализирани приложения. **Избор на рамка**: Изберете рамки за оптимизация въз основа на целевия хардуер и изискванията за внедряване. Използвайте Llama.cpp за оптимизирано внедряване на CPU, Microsoft Olive за цялостни работни потоци за оптимизация и Apple MLX за устройства с Apple Silicon. ## Практическо конвертиране на формат и случаи на употреба ### Сценарии за внедряване в реалния свят **Мобилни приложения**: Форматите Q4_K се отличават в приложения за смартфони с минимален паметен отпечатък, докато Q8_0 предоставя балансирана производителност за приложения на таблети. Форматите Q5_K предлагат превъзходно качество за мобилни приложения за продуктивност. **Десктоп и периферни изчисления**: Q5_K осигурява оптимална производителност за десктоп приложения, Q8_0 предоставя висококачествено извеждане за работни станции, а Q4_K позволява ефективна обработка на периферни устройства. **Изследвания и експерименти**: Усъвършенстваните формати за квантизация позволяват изследване на извеждане с ултра-ниска прецизност за академични изследвания и приложения за доказване на концепция, изискващи екстремни ограничения на ресурсите. ### Показатели за производителност и сравнения **Скорост на извеждане**: Q4_K постига най-бързи времена за извеждане на мобилни CPU, Q5_K предоставя балансирано съотношение скорост-качество за общи приложения, Q8_0 предлага превъзходно качество за сложни задачи, а експерименталните формати осигуряват теоретичен максимален капацитет със специализиран хардуер. **Изисквания за памет**: Нивата на квантизация варират от Q2_K --- **Отказ от отговорност**: Този документ е преведен с помощта на AI услуга за превод [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Не носим отговорност за недоразумения или погрешни интерпретации, произтичащи от използването на този превод.