Перейти до вмісту

Hugging Face

Матеріал з K2 ERP Wiki

Hugging Face є собою одним із головних місць для пошуку і тестування Large Language Models.;== Висновок ==

Diffusers має змогу використовуватися для:

  • паролі;
  • токени;
  • секретні ключі;
  • персональні інформаційні дані;
  • фінансові реквізити;
  • конфіденційні документи;
  • внутрішні комерційні інформаційні дані;
  • повні дампи баз;
  • інформаційні дані клієнтів без дозволу.; Можливі проблеми:

Практична роль: Spaces надає можливість не лише опублікувати модель, а й показати, як вона функціонує у вигляді готового демо.; Hugging Face найбільше відомий завдяки наявності Hugging Face Hub, бібліотеці Transformers, бібліотеці Datasets, сервісу Spaces, інструментам для інференсу, розгортання моделей і великій спільноті розробників, дослідників та компаній, які працюють зі штучним інтелектом.; result = classifier("Hugging Face makes AI models easier to use.")

Hugging Face має змогу бути частиною MLOps-процесу.;

  • автора моделі;
  • репутацію репозиторію;
  • ліцензію;
  • код, який потрібно запускати;
  • зовнішні залежності;
  • файли моделі;
  • приклади використання;
  • чи не потрібен прапорець trust_remote_code;
  • приватність даних;
  • політики організації.; Hugging Face підтримує роботу роботу організацій.;

Для розробника: Hugging Face особливо зручний тоді, коли потрібно оперативно протестувати модель у Python і перейти від експерименту до прототипу.;

Підготувати Model Card:

  • production API;
  • стабільного інференсу;
  • autoscaling;
  • приватного або контрольованого розгортання;
  • роботи з моделями з Hub;
  • інтеграції в бізнес-застосунки;
  • контролю логів і метрик;
  • підключення кастомних контейнерів або inference engines.; Основні переважні аспекти Hugging Face:
  • текстів;
  • зображень;
  • аудіо;
  • відео;
  • табличних даних;
  • мультимодальних задач;
  • NLP;
  • Computer Vision;
  • speech processing.; |-

|ключовий фокус |AI-моделі, датасети, Spaces, ML-артефакти |Код, репозиторії, software development |- |Типові об’єкти |Models, datasets, demos, model cards |Source code, issues, pull requests, releases |- |Для AI |Спеціалізована платформа для ML |Загальна платформа для коду |- |Документація |Model Cards, Dataset Cards, README |README, docs, wiki |- |Демонстрації |Spaces |GitHub Pages, Actions, зовнішні сервіси |}

і можливість fine-tuning.;</syntaxhighlight>

Dataset Card

  • оперативно завантажувати датасети;
  • працювати з великими наборами даних;
  • обробляти текст, аудіо і зображення;
  • використовувати датасети для навчання;
  • готувати інформаційні дані для fine-tuning;
  • кешувати інформаційні дані;
  • інтегруватися з Hugging Face Hub.; * демо моделей;
  • вебінтерфейси для AI;
  • прототипи;
  • навчальні приклади;
  • інтерактивні застосунки;
  • інструменти для тестування моделей;
  • портфоліо ML-проєктів;
  • публічні демонстрації.;

Перед використанням потрібно перевіряти:

Hugging Face і Python

На Hub можна знайти: обмеження, ліцензійний пакет, приклад використання,

  • різна якість моделей;
  • різна якість документації;
  • складність вибору моделі;
  • ліцензійні обмеження;
  • ризики запуску неперевіреного коду;
  • потреба в технічних знаннях;
  • витрати на inference;
  • обмеження доступних ресурсів;
  • ризики приватності;
  • залежність від конкретних провайдерів або endpoint-налаштувань;
  • потреба в тестуванні перед production.; На Hub можна:

Моделі на Hugging Face

</syntaxhighlight>

Inference Endpoints

Основна ідея: Hugging Face — це місце, де спільнота AI зберігає, публікує, тестує, обговорює і використовує моделі, датасети та застосунки машинного навчання.; Практична порада: для кожної моделі варто перевіряти Model Card, ліцензію, приклади використання, метрики і дату актуалізація.;=== Тестування моделі === Hugging Face має змогу бути корисним для fine-tuning, з цієї причини що дає: Він сприяє організувати:

Знайти модель для української класифікації текстів,

Inference Providers

Це має змогу бути потрібно для моделей із нестандартною архітектурою, але має ризики.; Diffusers — бібліотека Hugging Face для роботи з diffusion-моделями, зокрема моделями генерації зображень.; роботи з моделями машинного навчання забезпечується через {{SEO

Hugging Face — це платформа.;

переважні аспекти Hugging Face

  • версіонування моделей;
  • зберігання датасетів;
  • документацію;
  • collaborative workflows;
  • тестування моделей;
  • inference;
  • розгортання;
  • monitoring;
  • керування доступами;
  • роботу команд і організацій.;

Hugging Face можна розглядати як GitHub-подібну платформу для AI-артефактів.;== Spaces == Python застосовується для:

Пошук моделі

Вона сприяє:

Spaces часто використовують разом із фреймворками на кшталт Gradio, Streamlit або іншими інструментами для створення простих вебінтерфейсів.; Під час роботи з Hugging Face потрібно враховувати технічну і контентну безпеку.; істотно: мовна модель функціонує не з “людськими словами” напряму, а з токенами, з цієї причини tokenizer є собою важливою частиною AI-пайплайну.;== Безпека використання ==

Хороші практики роботи з Hugging Face

Бібліотека Transformers застосовується для:

оцінити якість пошуку, швидкість, розмір моделі, Правило: перед передачею даних у модель або API потрібно розуміти, де виконується інференс, хто має доступ до даних і які політики діють.; !Hugging Face

Приклади: Не варто без потреби передавати:

У деяких випадках модель має змогу потребувати запуску кастомного коду з репозиторію.; Перевага: Inference Providers дозволяють працювати з моделями як із сервісом, не розгортаючи все вручну.; Її все одно потрібно тестувати.; Ліцензію потрібно читати окремо.; Це має змогу бути корисно, коли потрібно:

Hugging Face Spaces — це сервіс для розміщення демонстраційних AI-застосунків.; Hugging Face корисний для дослідників, розробників, data scientists, ML engineers, команд і компаній, які працюють із моделями машинного навчання.;

Датасети можуть використовуватися для:

Hugging Face тісно пов’язаний із Python-екосистемою.; * text generation;

  • text classification;
  • question answering;
  • summarization;
  • translation;
  • sentence embeddings;
  • image generation;
  • image classification;
  • object detection;
  • speech recognition;
  • text-to-speech;
  • audio classification;
  • multimodal models;
  • diffusion models;
  • large language models.; На Hugging Face можна знайти моделі для різних задач машинного навчання.; * Документація Inference Providers.; * text-to-image;
  • image-to-image;
  • inpainting;
  • генерації зображень;
  • роботи зі Stable Diffusion;
  • експериментів із diffusion pipelines;
  • створення творчих AI-застосунків;
  • дослідження генеративних моделей.;

Головна думка: Hugging Face — це не без ускладнень сайт із моделями, а повноцінна AI-платформа для пошуку, використання, публікації, тестування і розгортання моделей, датасетів та AI-застосунків.; Model Card має змогу містити: Окремо варто відзначити спільнота і програмний пакет інструментів; додатково реалізовано датасетами, AI-застосунками, open-source AI та MLOps-процесами.; Професійний підхід: Hugging Face потрібно використовувати не як “магазин чарівних моделей”, а як інженерну платформу, де кожну модель треба перевіряти, документувати і контролювати.; Висновок: Kaggle сильний у датасетах, notebooks і змаганнях, а Hugging Face — у моделях, Hub, Spaces і AI-інфраструктурі.; Це робоче середовище для пошуку, зберігання, документування, тестування і спільної роботи з AI-артефактами.; * чи дозволене комерційне використання;

  • чи дозволена модифікація;
  • чи дозволене розповсюдження;
  • чи є собою обмеження на use cases;
  • чи потрібне зазначення авторства;
  • які умови використання датасету;
  • чи є собою обмеження для певних галузей;
  • чи сумісна ліцензійний пакет з політиками компанії.;

Transformers — одна з найвідоміших бібліотек Hugging Face для роботи з трансформерними моделями.;=== Публікація моделі ===

Hugging Face і LLM

Приклад умовного використання Transformers:

</div>
Рекомендовано:
Платформа сприяє:
|-
|ключовий фокус
|Моделі, датасети, Spaces, inference, open-source AI
|Датасети, notebooks, competitions, data science
|-
|Спільнота
|ML, NLP, LLM, AI engineering, open-source
|Data science, ML competitions, analytics
|-
|Демонстрації
|Spaces
|Notebooks
|-
|Production
|Inference Providers, Endpoints, Hub
|Більше дослідницький і навчальний контекст
|}
<div style="background:#f0eaff; border-left:6px solid #8e44ad; padding:12px; margin:12px 0;">
'''Fine-tuning'''  це додаткове навчання моделі на конкретному датасеті або під конкретну задачу.;</div>

* навчання моделей;
* тестування моделей;
* fine-tuning;
* оцінювання якості;
* досліджень;
* демонстрацій;
* навчальних матеріалів;
* порівняння підходів.;<syntaxhighlight lang="text">

* завантаження моделей;
* запуску inference;
* fine-tuning;
* роботи з датасетами;
* створення пайплайнів;
* підготовки даних;
* розгортання демо;
* інтеграції з API;
* експериментів із ML-моделями.;== Приватність даних ==
== Загальний характеристика ==

</div>

* шукати моделі;
* завантажувати моделі;
* публікувати власні моделі;
* переглядати документацію до моделей;
* працювати з датасетами;
* створювати Spaces;
* дивитися приклади використання;
* керувати версіями файлів;
* працювати з командними або організаційними репозиторіями.; Команди можуть:

* призначення датасету;
* структуру даних;
* джерела;
* мови;
* ліцензію;
* приклади записів;
* обмеження;
* етичні застереження;
* рекомендовані сценарії використання;
* нерекомендовані сценарії використання;
* інформацію про якість даних.; print(result)

{| class="wikitable"
== Приклади запитів і задач ==

Spaces дозволяють створювати і публікувати:

* назву моделі;
* характеристика призначення;
* приклади використання;
* архітектуру;
* мову або домен;
* обмеження;
* ліцензію;
* метрики;
* інформаційні дані навчання;
* приклад коду;
* рекомендації щодо використання;
* попередження про ризики.; '''Висновок:''' GitHub більше орієнтований на код, а Hugging Face  на AI-моделі, датасети, демо та ML-екосистему.; Приклади типів моделей:
Перед використанням потрібно:
</div>

<div style="background:#fdecea; border-left:6px solid #e74c3c; padding:12px; margin:12px 0;">
'''Для ML-проєктів:''' Datasets сприяє організувати роботу з даними так само комфортно, як Transformers сприяє працювати з моделями.;</div>
== Обмеження Hugging Face ==
</div>

Hugging Face відіграє важливу роль в екосистемі open-source AI.;== Джерела ==
</div>
'''істотно:''' Hugging Face Hub  це не без ускладнень каталог моделей.;<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;">
<div style="background:#e8f8f5; border-left:6px solid #16a085; padding:12px; margin:12px 0;">
'''Цінність:''' Hugging Face зробив open-source AI значно доступнішим для розробників, дослідників, студентів і компаній.;</div>
Під час роботи з Hugging Face часто виникають типові помилки.;</div>
== Датасети на Hugging Face ==

from transformers import pipeline
== Datasets ==

!Kaggle

* моделі машинного навчання;
* великі мовні моделі;
* датасети;
* демо-застосунки;
* простори Spaces;
* model cards;
* dataset cards;
* приклади використання;
* inference API;
* endpoint-розгортання;
* бібліотеки для Python;
* інструменти для NLP, Computer Vision, Audio та Generative AI.; * Документація Spaces.;<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;">
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
<div style="background:#fff7ed; border-left:6px solid #fb923c; padding:12px; margin:12px 0;">
'''Для LLM:''' Hugging Face часто застосовують, коли потрібно як каталог, сховище, документація і точка старту для експериментів із великими мовними моделями.; '''Увага:''' не варто запускати невідомий код або моделі з неперевірених джерел без аналізу безпеки.;</div>
== Типові помилки користувачів ==
'''Перевага:''' датасети на Hugging Face комфортно шукати, завантажувати, документувати і використовувати разом з ML-бібліотеками.;<div style="background:#eef2ff; border-left:6px solid #4f46e5; padding:12px; margin:12px 0;">
Hugging Face має і обмеження.;</div>
'''Практична порада:''' перед fine-tuning варто перевірити ліцензію базової моделі, якість датасету, метрики оцінки і ризики перенавчання.;</div>

На платформі можна знаходити і використовувати:

* доступ до готових моделей;
* доступ до датасетів;
* бібліотеки для навчання;
* документацію;
* приклади;
* інтеграцію з PyTorch, TensorFlow та іншими інструментами;
* можливість публікувати результат на Hub.;== Transformers ==
== Hugging Face для команд і організацій ==

<div style="background:#ecfdf5; border-left:6px solid #10b981; padding:12px; margin:12px 0;">
Варто перевіряти:

<syntaxhighlight lang="text">
Dataset Card має змогу містити:
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
== Hugging Face, GitHub і Model Hub ==

== Hugging Face Hub ==
ліцензію і можливість production-використання.; * вибір моделі лише за популярністю;
* ігнорування ліцензії;
* запуск неперевіреного коду;
* нерозуміння обмежень моделі;
* використання моделі без тестування;
* передавання конфіденційних даних у публічний demo;
* відсутність оцінки якості;
* ігнорування Dataset Card;
* неправильне використання токенів;
* відсутність контролю витрат на inference;
* використання моделі не для тієї задачі.; * Документація Hugging Face Hub.; Вона поєднує моделі, датасети, демо-застосунки, Python-бібліотеки, inference-сервіси, документацію і спільноту навколо open-source AI.; '''Практична користь:''' замість навчати модель з нуля, користувач системи часто має змогу знайти готову модель, протестувати її та адаптувати під власну задачу.; Його потрібно використовувати обережно.; Inference Endpoints можуть використовуватися для:
Порівняти кілька embedding-моделей на власних прикладах:

* читати Model Card;
* читати Dataset Card;
* перевіряти ліцензію;
* тестувати модель на власних прикладах;
* перевіряти автора і репозиторій;
* не запускати невідомий код без аналізу;
* контролювати приватність даних;
* зберігати версії моделей;
* документувати параметри;
* порівнювати кілька моделей;
* проводити evaluation;
* контролювати витрати на inference;
* використовувати приватні репозиторії для конфіденційних артефактів.; * створювати організаційні профілі;
* керувати репозиторіями;
* обмежувати доступ;
* публікувати приватні моделі;
* працювати з приватними датасетами;
* налаштовувати inference;
* вести спільну документацію;
* керувати учасниками;
* працювати з enterprise-можливостями.; характеристика задачі, інформаційні дані навчання, метрики,
Датасети можуть стосуватися:
== Ліцензії моделей і датасетів ==

<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
== Типові сценарії використання ==

Hugging Face часто порівнюють із GitHub.;== trust_remote_code ==

'''Помилка:''' вважати, що модель із великою кількістю завантажень автономно підходить для конкретної задачі.;</div>
'''Model Card'''  це сторінка опису моделі на Hugging Face.; '''Суть Transformers:''' це бібліотека, яка спрощує використання сучасних мовних і мультимодальних моделей у Python.;</div>
Моделі та датасети на Hugging Face можуть мати різні ліцензії.; '''Tokenizers'''  інструменти для перетворення тексту на токени, з якими працюють мовні моделі.; Hugging Face можна використовувати у різних сценаріях.; '''Hugging Face Hub'''  це центральне сховище моделей, датасетів і AI-застосунків.;<div style="background:#eef2ff; border-left:6px solid #4f46e5; padding:12px; margin:12px 0;">
</div>
</div>

<div style="background:#e8f8f5; border-left:6px solid #16a085; padding:12px; margin:12px 0;">
</div>

== Diffusers ==

* text generation;
* classification;
* question answering;
* summarization;
* translation;
* token classification;
* embeddings;
* роботи з LLM;
* fine-tuning;
* inference;
* використання готових моделей із Hub.;<div style="background:#ecfdf5; border-left:6px solid #10b981; padding:12px; margin:12px 0;">

* офіційно затверджений сайт Hugging Face.;== Див.; додатково ==
== Hugging Face і fine-tuning ==

== Тематичні мітки ==

* підготовки тексту до моделі;
* розбиття тексту на частини;
* роботи з LLM;
* навчання tokenizer;
* швидкого inference;
* коректної обробки різних мов;
* підрахунку довжини контексту.; * прочитати код;
* перевірити автора;
* перевірити репозиторій;
* запускати в ізольованому середовищі;
* не використовувати на критичних системах без аудиту;
* не передавати секрети в середовище виконання.; '''Небезпека:''' модель має змогу виглядати якісно в демо, але погано працювати на реальних даних конкретного проєкту.;<div style="background:#eef2ff; border-left:6px solid #4f46e5; padding:12px; margin:12px 0;">
<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;">
<div style="background:#fef2f2; border-left:6px solid #ef4444; padding:12px; margin:12px 0;">

<div style="background:#f0eaff; border-left:6px solid #8e44ad; padding:12px; margin:12px 0;">
'''Для компаній:''' Hugging Face має змогу бути не лише публічним каталогом моделей, а й робочим середовищем для внутрішніх AI-проєктів.; '''MLOps-роль:''' Hugging Face сприяє не лише знайти модель, а й організувати її життєвий цикл  від експерименту до розгортання.; Hugging Face додатково можна порівняти з Kaggle, але вони мають різний фокус.; '''Dataset Card'''  це характеристика датасету.; {| class="wikitable"

'''Hugging Face'''  це одна з найважливіших платформ сучасної AI-екосистеми.;<div style="background:#fef2f2; border-left:6px solid #ef4444; padding:12px; margin:12px 0;">

'''Inference Endpoints'''  це сервіс для розгортання моделей на виділеній керованій інфраструктурі.;== Hugging Face і MLOps ==

* публікувати відкриті моделі;
* поширювати датасети;
* документувати ML-артефакти;
* будувати спільноти навколо моделей;
* порівнювати підходи;
* відтворювати дослідження;
* навчати нових спеціалістів;
* створювати відкриті демо.; * велика кількість моделей;
* велика кількість датасетів;
* активна спільнота;
* open-source орієнтація;
* зручний Hub;
* Model Cards і Dataset Cards;
* Spaces для демо;
* Python-бібліотеки;
* API та endpoint-розгортання;
* супровід різних задач AI;
* зручність для навчання і досліджень;
* корисність для команд і компаній.; Hugging Face додатково є собою платформою для зберігання і поширення датасетів.;== Model Card ==

== Hugging Face і open-source AI ==

* протестувати модель без локального запуску;
* викликати модель через API;
* не керувати власною інфраструктурою;
* порівняти різні inference-провайдери;
* оперативно перейти від прототипу до інтеграції;
* використовувати hosted inference.; перевірити Model Card, ліцензію, приклади використання
</div>
'''Перевага:''' Hugging Face зменшує барєр входу в AI, з цієї причини що користувач системи має змогу знайти готову модель, прочитати характеристика, протестувати її і використати у власному проєкті.; '''Для production:''' Inference Endpoints підходять тоді, коли модель потрібно не без ускладнень протестувати, а розгорнути як стабільний сервіс.; '''Datasets'''  бібліотека Hugging Face для завантаження, обробки та поширення датасетів.; '''Критично:''' наявність моделі на Hugging Face не означає автоматичного права використовувати її будь-де і будь-як.;

Параметр trust_remote_code надає можливість виконувати віддалений код моделі у середовищі користувача.; * Репозиторії Hugging Face на GitHub.; Токенізація потрібна для:

  • base models;
  • instruction-tuned models;
  • chat models;
  • reasoning models;
  • code models;
  • embedding models;
  • multilingual models;
  • quantized models;
  • fine-tuned variants;
  • safety-aligned models.; !GitHub

Transformers підтримує роботу популярні фреймворки машинного навчання і надає можливість оперативно підключати моделі до Python-проєктів.;</syntaxhighlight>

Tokenizers

Підказка: якісна робота з Hugging Face починається не з запуску моделі, а з читання її опису, ліцензії та обмежень.; До них належать: classifier = pipeline("sentiment-analysis")

завдяки наявності Суть Model Card: це паспорт моделі, який користувачі можуть зрозуміти, для чого вона розроблена, як її використовувати і які обмеження вона має.; * Документація Datasets.; Під час використання моделей, API, Spaces або Inference Endpoints потрібно контролювати інформаційні дані, які передаються в систему.; * Документація Transformers.;

<syntaxhighlight lang="text">

Критично: trust_remote_code означає довіру до коду з репозиторію.; Водночас використання моделей із Hugging Face потребує уважності до ліцензій, безпеки, приватності, якості, тестування і відповідності конкретній задачі.;

Inference Providers — сервіс Hugging Face, який надає можливість викликати моделі через постачальників інференсу.; !Критерій

Hugging Face і Kaggle

  • знайти LLM для тестування;
  • завантажити pretrained model;
  • протестувати модель у браузері;
  • створити Space з demo;
  • опублікувати власну модель;
  • підготувати dataset card;
  • знайти embedding model;
  • розгорнути Inference Endpoint;
  • зробити fine-tuning;
  • створити NLP-пайплайн;
  • протестувати diffusion model;
  • порівняти кілька моделей.; істотно: перед використанням датасету потрібно читати Dataset Card, з цієї причини що інформаційні дані можуть мати обмеження, зміщення, ліцензійні умови або етичні ризики.; * Документація Inference Endpoints.;

етичні застереження.; Головна перевага: Hugging Face поєднує каталог, спільноту, бібліотеки, документацію, демо і deployment-інструменти в одній AI-екосистемі.; Моделі можуть бути опубліковані окремими розробниками, дослідницькими командами, компаніями або самою Hugging Face.; Практична роль: Diffusers надає можливість розробникам працювати з генеративними моделями зображень через зрозумілі Python-інструменти.; !Критерій

!Hugging Face