Можно ли в Python создавать бинарные файлы? Конечно можно.
Для этого в Python есть следующие инструменты:
▫️ тип данных bytes и bytearray
▫️ открытие файла в режиме wb (write binary) или rb (read binary)
▫️ модуль struct
Про модуль struct поговорим в первую очередь.
Файл в формате JSON или Yaml внутри себя содержит разметку данных. Всегда можно определить где список начался а где закончился. Где записана строка а где словарь. То есть формат записи данных содержит в себе элементы разметки данных.
В binary-файле данные не имеют визуальной разметки. Это просто байты, записанные один за другим. Правила записи и чтения находятся вне файла.
Модуль struct как раз и помогает с организацией данных в таком файле с помощью определения форматов записи для разных частей файла.
Модуль struct преобразует Python-объекты в массив байт, готовый к записи в файл и имеющий определённый вид.
Для этого всегда следует указывать формат преобразования (или, как оно здесь называется - запаковки).
Формат нужен для того, чтобы выделить достаточное количество байт для записи конкретного типа объекта. В последствии с помощью того же формата будет производиться чтение.
При этом следует помнить что мы говорим о типах языка С а не Python.
Именно формат определяет, что записано в конкретном месте файла, число, строка или что-то еще.
Вот какие токены формата у нас есть.
Помимо этого, первым символом можно указать порядок байтов. На разных системах одни и те же типы данных могут записываться по-разному, поэтому желательно указать конкретный способ из доступных. Если этого не сделать, то используется символ '@', то есть нативный для текущей системы.
В строке формата мы пишем в каком порядке и какие типы собираемся преобразовать в байты.
Запакуем в байты простое число, токен "i".
>>> import struct
>>> struct.pack('=i', 10)
b'\n\x00\x00\x00'
Теперь несколько float, при этом нужно передавать элементы не массивом а последовательностью аргументов.
>>> struct.pack('=fff', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Вместо нескольких токенов можно просто указать нужное количество элементов перед одним токеном, результат будет тот же.
>>> struct.pack('=3f', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Теперь запакуем разные типы
>>> data = struct.pack('=fiQ', 1.0, 4, 100500)
я запаковал типы float, int и unsigned long long (очень большой int, на 8 байт)
b'\x00\x00\x80?\x04\x00\x00...'
Распаковка происходит аналогично, но нужно указать тот же формат, который использовался при запаковке. Результат возвращается всегда в виде кортежа.
>>> struct.unpack('=fiQ', data)
(1.0, 4, 100500)
Как видите, ничего страшного!
#lib#basic
⚡️HF Learn: 11 бесплатных курсов по ИИ от HuggingFace.
В преддверии новогодних праздников платформа подготовила набор обучающих материалов по основным направлениям ИИ:
🟢LLM Course - познакомит с большими языковыми моделями и обработкой естественного языка с использованием библиотек экосистемы HF: Transformers, Datasets, Tokenizers и Accelerate.
🟢Robotics Course - проведет вас от классической робототехники к современным подходам, основанным на ML.
🟢Model Context Protocol Course - курс, созданный в партнерстве с Anthropic , научит пониманию, использованию и созданию приложений с помощью MCP.
🟢Smol-course - самый всеобъемлющий (и самый короткий) трек по тонкой настройке языковых моделей.
🟢AI Agents Course - научит разбираться и использовать самую топовую тему на сегодняшний день: создание и применение агентов ИИ.
🟢Deep RL Course - курс по самой интересной теме в области ИИ: глубокому обучению с подкреплением.
🟢Computer Vision Course - подробный разбор компьютерного зрения, созданный сообществом HF, состоящий из теории, практических занятий и увлекательных заданий.
🟢Audio Сourse - научит вас использовать Transformers для обработки звука. Вы получите представление о специфике работы с аудиоданными, изучите различные архитектуры Transformers и обучите собственные модели.
🟢ML for Games Course - узнаете как интегрировать модели ИИ в процессы разработки игр и создавать уникальные игровые впечатления.
🟢Diffusion Course - полномасштабный источник знаний и навыков по диффузии. Теория и практика: от изучения библиотеки Diffusers до создания конвейеров обработки данных.
🟢ML for 3D Course - авторский набор обучающих материалов по использованию машинного обучения в 3D от Дилана Эберта (IndividualKex) - разработчика по 3D-графике HuggingFace.
Сохраните на праздники, в этом году они длинные
@ai_machinelearning_big_data
#AI#ML#HuggingFace
🔥 Hugging Face снова выкатили полезные материалы.
Вышел бесплатный плейбук о том, как изнутри строят SOTA-модели.
Без общих слов - только реальные решения и нюансы, которые обычно скрыты внутри исследовательских команд.
Это полноценный мастеркласс на 214 страниц для тех, кто хочет понимать, как устроены современные LLM.
Что внутри:
• Логика построения модели: зачем → что → как
• Как разработчики берут модель и по частям включают/выключают компоненты (или меняют их)
• Архитектура: ключевые выборы и trade-offs
• Искусство подбора и очистки данных
• Как проходит обучение моделей
• Пост-тренинг и RLHF в 2025
• Инфраструктура больших моделей
По первым страницам - уровень деталей как в Ultra-scale playbook.
Ссылка: https://huggingface.co/spaces/HuggingFaceTB/smol-training-playbook#designing-the-model-architecture
@ai_machinelearning_big_data
#AI#LLM#MachineLearning#HuggingFace
#ML#NLP#LLM#RL#remote#huggingface
Компания: High Sky;
Позиция: Senior LLM-Engineer для решения задачи SWE
Вилка: от 8000$ до 15000$;
Формат: удаленная работа;
Занятость: full-time;
Опыт: от 6 лет.
Мы - динамично развивающийся стартап, решающий различные задачи AI в соревновательном формате: генерация текста, аудио и видео, обогащение данных, предиктивная аналитика. Мы осуществляем полный цикл работы над продуктом: от анализа бизнес-задачи до вывода в продакшен полноценного решения
Находимся в поиске Senior LLM-Engineer для решения задачи SWE
Чем предстоит заниматься:
- Главная задача - разработать агента для решения SWE задач
- обучение LLM
- написание кода агента, запускаемого в sandbox
- fine-tuning LLM
- Построение пайплайнов валидации и оценки моделей и агентов
- Сбор, очищение данных
- Выбор архитектур и pre-trained моделей
- Объединение моделей и адаптеров
Требования к кандидату:
- Опыт обучения LLM (fine-tuning / pre-training) от 2 лет
- Опыт применения различных методов обучения LLM
- Опыт с различными pre-trained моделями
- Опыт работы с экосистемой huggingface: transformers, datasets, peft, trl
- Хорошее понимание теоретической базы
NLP, transformers, LLM. Понимание всех циклов предобучения и файнтюнинга, RL, classic ML
- Опыт коммерческой разработки с нуля
- Опыт работы от 6 лет
- Высшее образование в области компьютерных технологий / прикладной математики и (или) прикладной информатики;
Будет плюсом:
- Опыт решения задачи SWE-bench
- Научные исследования по Computer Science
- Призовые места в соревнованиях (kaggle, boosters), опыт участия в хакатонах
- ШАД / Школа 21
Что мы предлагаем:
- Участие в разработке динамично развивающегося продукта, работающего на рынке в реальном времени;
- Справедливую заработную плату по результатам собеседования и вашей квалификации;
- Возможность прокачивать свою экспертизу за счет работы с топовыми коллегами и обучения в моменте;
- Классный молодой коллектив профессионалов, заряженных на результат. Ценим порядочность, честность и открытость;
- Горизонтальную структуру, отсутствие бюрократии и синдромов «больших начальников»;
- Мы за результат, а не процесс. У всех наших сотрудников удобный график и полностью удаленная работа без привязке к стране.
Для отклика пишите@perovvaa📩
🤖 Reachy Mini — первый доступный робот от Hugging face
Reachy Mini — это выразительный и полностью open-source робот, созданный для взаимодействия с человеком, коммуникации и экспериментов с ИИ.
🧠 Что делает его особенным?
- Все ПО открыто и написано на Python, а скоро будет достнуо — и на JavaScript и Scratch
- Базовая версия стоит $299, еще доступна wireless-версия за $449
- Открытая архитектура и SDK — идеален для экспериментов с LLM, аудио- и визуальными агентами
С ним можно разрабатывать, тестировать, запускать и делиться реальными ИИ-приложениями — на базе современных LLM-моделей.
Технические характеристики
- Высота: 28 см, в режиме сна — 23 см
- Ширина: 16 см, вес: 1.5 кг
- Поставляется в виде конструктора:
- Lite-версия — базовый функционал
- Полноценная версия — автономная версия с Raspberry 5 внутри, встроенным питанием, Wi‑Fi, микрофонами и камерой
🎤 Датчики и интерфейсы
- Микрофоны: Lite — 2, Wireless — 4 встроенных микрофонов
hyper.ai
- Камера: широкоугольная фронтальная камера (в wireless-версии)
- Акселерометр: встроен в Wireless-версию
🔗 Подробнее: http://hf.co/blog/reachy-mini
@ai_machinelearning_big_data
#huggingface#Reachy#opensource#Python
🎥 Новинка от ByteDance: модель Video-As-Prompt Wan2.1-14B
ByteDance выпустила модель Wan2.1-14B, специализирующуюся на задаче *video-as-prompt*, то есть использование видео или комбинации изображений и текста как входных данных для генерации нового видео.
- Работает в режимах «видео → видео» или «изображения/текст → видео».
- 14 млрд параметров — высокая детализация, плавная динамика, реалистичные движения.
- Использует исходное видео как шаблон стиля и композиции.
⚠️ Что стоит учитывать
- Модель требует мощных GPU и большого объёма памяти.
- Качество результата зависит от сложности запроса и длины видео.
🟠Github: https://github.com/bytedance/Video-As-Prompt
🟠HF: https://huggingface.co/ByteDance/Video-As-Prompt-Wan2.1-14B
@ai_machinelearning_big_data
#AI#VideoGeneration#ByteDance#Wan2#HuggingFace
🤗Кто реально двигает open-source ИИ: анализ топ-50 самых скачиваемых моделей на Hugging Face
Исследование показывает, какие организации и типы моделей определяют экосистему открытых моделей.
🔥Главное:
📦Топ-50 - это всего 3.4% всех моделей на Hugging Face, но именно они собирают более 80% из 45 миллиардов скачиваний.
Подавляющее большинство активности сосредоточено вокруг небольшой группы лидеров -
именно эти модели формируют лицо всего open-source ИИ.
📉Размер имеет значение (и чем меньше — тем лучше):
- 92.5% загрузок — модели < 1B параметров
- 86.3% — < 500M
- 70% — < 200M
- 40% — < 100M
Очевидны выводы: в open-source побеждают малые и лёгкие модели, пригодные для локального развёртывания и edge-инференса.
🧠Популярные направления:
- NLP — 58.1%
- Computer Vision — 21.2%
- Audio — 15.1%
- Multimodal — 3.3%
- Time Series — 1.7%
Кто создаёт самые скачиваемые модели:
- Компании - 63.2% (Google лидер)
- Университеты - 20.7%
- Индивидуальные авторы - 12.1%
- НКО - 3.8%
- Прочие лаборатории - 0.3%
Какие типы моделей побеждают:
- Текстовые энкодеры - 45% всех загрузок
- Декодеры - всего 9.5%
- Энкодер-декодеры - 3%
📌 Несмотря на хайп вокруг LLM, массово скачиваются не гиганты, а утилитарные модельки для интеграции в собственные продукты.
🇺🇸Лидеры по странам:
США доминируют по всем категориям:
- встречаются 18 раз среди топ-50 скачиваний
- на США приходится 56.4% всех загрузок
Open-source ИИ живёт не за счёт гигантских LLM, а благодаря компактным, быстрым и практичным моделям, мкоторые реально работают в продуктах и проектах.
🟠Почитать полностью:https://huggingface.co/blog/lbourdois/huggingface-models-stats
@ai_machinelearning_big_data
#AI#HuggingFace#OpenSource#ML#Research#LLM#AITrends
#typescript#api_client#hub#huggingface#inference#machine_learning
Hugging Face offers JavaScript libraries that let you easily use over 100,000 AI models for tasks like text generation, image creation, translation, and more, directly in your code or browser. You can create and manage model repositories, upload files, and run AI tasks such as chat completions or text-to-image generation with simple commands. These libraries work on modern environments without extra dependencies and support multiple providers, giving you flexible access to powerful AI tools. This helps you quickly add advanced AI features to your projects without deep AI expertise or complex setup.
https://github.com/huggingface/huggingface.js