Hugging Face переходит с Git LFS на Xet: что это значит для пользователей

Hugging Face, ведущая платформа для хостинга моделей машинного обучения и датасетов, объявила о масштабной миграции своего основного хранилища Hub с Git Large File Storage (LFS) на собственную технологию Xet. Этот шаг направлен на ускорение работы с большими моделями, которые в последнее время дости

Hugging Face переходит с Git LFS на Xet: что это значит для пользователей

Hugging Face, ведущая платформа для хостинга моделей машинного обучения и датасетов, объявила о масштабной миграции своего основного хранилища Hub с Git Large File Storage (LFS) на собственную технологию Xet. Этот шаг направлен на ускорение работы с большими моделями, которые в последнее время достигают десятков гигабайт. Переход начался в 2024 году и затронет все репозитории, включая модели, датасеты и Spaces. Для пользователей это означает значительное улучшение скорости операций клонирования и синхронизации, а также более эффективное использование дискового пространства.

Git LFS долгое время был стандартом для хранения больших файлов в Git, но он имеет фундаментальные ограничения. Медленные операции клонирования, проблемы с версионированием бинарных файлов и высокие требования к хранилищу стали узким местом для современных моделей машинного обучения. Xet, разработанный командой Hugging Face, решает эти проблемы с помощью контентно-адресуемого хранения и блочной дедупликации. Вместо того чтобы хранить полные копии файлов при каждом изменении, Xet сохраняет только уникальные блоки данных, что резко снижает объем хранилища и ускоряет операции push и pull.

Как работает Xet и чем он лучше Git LFS

Xet использует контентно-адресуемое хранение, где каждый блок данных идентифицируется своим хешем. Это позволяет эффективно дедуплицировать данные: если два файла содержат одинаковые блоки, они хранятся только один раз. В отличие от Git LFS, который хранит каждую версию файла целиком, Xet хранит только изменения между версиями. Это особенно важно для больших моделей, где даже небольшое изменение может привести к перезаписи гигабайтов данных. Благодаря дедупликации, объем хранилища может сократиться в несколько раз.

Еще одно ключевое преимущество Xet — поддержка "ленивого" клонирования. Вместо того чтобы загружать весь файл целиком, пользователь может запросить только те блоки, которые ему нужны в данный момент. Например, если модель весит 10 ГБ, но для выполнения задачи требуется только часть весов, Xet загрузит только соответствующие блоки. Это значительно ускоряет начальную загрузку и экономит трафик. По данным Hugging Face, миграция уже показала снижение времени клонирования некоторых репозиториев на 80%.

Какие проблемы решает Xet для разработчиков и исследователей

Для разработчиков, работающих с большими моделями, Xet решает несколько критических проблем. Во-первых, ускорение операций клонирования: вместо часов на загрузку репозитория теперь уходят минуты. Во-вторых, уменьшение требований к дисковому пространству: дедупликация позволяет хранить несколько версий модели без значительного увеличения объема. В-третьих, улучшение версионирования: теперь можно отслеживать изменения в бинарных файлах более эффективно, так как Xet хранит только различия.

Исследователи, которые часто экспериментируют с разными версиями моделей, оценят возможность быстрого переключения между версиями без повторной загрузки. Компании, использующие Hugging Face для хранения внутренних моделей, смогут сократить расходы на хранение и ускорить CI/CD пайплайны. Для конечных пользователей, которые просто скачивают модели, переход будет прозрачным — API и интерфейс останутся прежними, но скорость загрузки заметно возрастет.

Как миграция повлияет на пользователей Hugging Face Hub

Миграция затронет всех пользователей Hugging Face Hub: разработчиков, исследователей и компании. Для большинства конечных пользователей изменения будут незаметны — они продолжат использовать те же команды и API. Однако владельцам репозиториев с большими файлами стоит обновить свои инструменты для работы с Xet. Hugging Face предоставит официальные клиенты и инструкции по миграции. Важно отметить, что все существующие ссылки и теги останутся рабочими, так как Xet обратно совместим с Git LFS на уровне API.

Однако есть и некоторые неизвестные. Точные сроки завершения миграции не объявлены, хотя процесс уже идет. Также пока неясно, как Xet будет справляться с очень большими репозиториями размером в терабайты. В теории, контентно-адресуемое хранение должно масштабироваться хорошо, но на практике могут возникнуть проблемы с производительностью при огромном количестве блоков. Кроме того, неизвестно, будет ли поддержка сторонних клиентов, кроме официального. Hugging Face пока не опубликовал спецификацию протокола Xet, что может ограничить интеграцию с другими инструментами.

Что делать пользователям уже сейчас

Пользователям не нужно предпринимать немедленных действий, так как миграция происходит постепенно. Однако рекомендуется следить за обновлениями от Hugging Face и при необходимости обновить локальные инструменты. Если вы активно работаете с большими моделями, стоит протестировать Xet на своих репозиториях, чтобы оценить ускорение. Hugging Face предоставляет документацию и примеры для разработчиков, желающих адаптировать свои рабочие процессы.

В долгосрочной перспективе переход на Xet укрепит позиции Hugging Face как ведущей платформы для машинного обучения. Это не только улучшит пользовательский опыт, но и снизит операционные расходы самой компании. Для сообщества это означает более быстрый доступ к моделям и более эффективное использование ресурсов. Остается дождаться завершения миграции и увидеть, как Xet проявит себя в реальных условиях.