TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #241 · 5 мај

Можно ли в 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

Hashtags

Резултати

Пронајдени 3 слични објави

Пребарај: #unsloth

当前筛选 #unsloth清除筛选
Machinelearning

@ai_machinelearning_big_data · Post #8413 · 29.08.2025 г., 18:01

🚀 OpenAI **gpt-oss** с ультрадлинным контекстом! Unsloth выпустили Flex Attention, который даёт до 61K контекста для gpt-oss bf16 при обучении на GPU с 80GB. 📊 Что это значит: - 8× больше контекста - потребляет на 50% меньше VRAM - 1.5× быстрее по сравнению с альтернативами (включая FA3) Для BF16 LoRA теперь можно тренировать с ~60K контекстом на одной H100 80GB. 🔗 Подробнее: https://docs.unsloth.ai/basics/long-context-gpt-oss-training @ai_machinelearning_big_data #Unsloth#OpenAI#gptoss#chatgpt

Machinelearning

@ai_machinelearning_big_data · Post #8238 · 08.08.2025 г., 11:34

⚡️GGUF-версии GPT-OSS от Unsloth. Unsloth конвертировали обе GPT-OSS (20B и 120B) и исправили ошибки, чтобы повысить качество инференса. 🟡Оптимальный сетап: 🟢20B работает со скоростью более 10 токенов/с при полной точности на 14 ГБ оперативной памяти. 🟢120B с полной точностью будет давать >40 токенов/с на примерно 64 ГБ ОЗУ. Минимальных требований для запуска моделей нет, запуститься можно даже если у вас всего 6 ГБ и только CPU, но инференс будет медленнее. GPU не требуется , особенно для модели 20B, но его наличие значительно увеличивает скорость вывода (~80 токенов/с). С чем-то вроде H100 можно получить пропускную способность 140 токенов/с, и это значительно быстрее, чем у OpenAI в ChatGPT. Модели можно запустить через llama.cpp, LM Studio или Open WebUI. Если модель 120B слишком медленная, попробуйте версию 20B - она очень быстрая и работает не хуже o3-mini. Помимо моделей формата GGUF c полной точностью, Unsloth сделали версии с 4-bit и 16-bit точностью. 4-бинтый квант, кстати, можно файнтюнить на 24 ГБ VRAM. 📌 Подробная пошаговая инструкция по локальному запуску и файнтюну - в документации Unsloth. 🟡Набор моделей 🟡Документация @ai_machinelearning_big_data #AI#ML#GPTOSS#GGUF#Unsloth

Machinelearning

@ai_machinelearning_big_data · Post #9311 · 24.12.2025 г., 10:45

📌Тренируем FunctionGemma самостоятельно. LM Studio в коллаборации с Unsloth опубликовали подробный туториал по файнтюнингу недавно выпущенной Google модели FunctionGemma. FunctionGemma - уменьшенная версия Gemma (всего 270Ь параметров) для агентских сценариев и работы в качестве бэкенда приложений, которую можно запускать практически на любом устройстве. Гайд состоит из подробного описания всего процесса от обучения модели вызову инструментов до преобразования в GGUF-формат и последующего запуска его в LM Studio Туториал подойдет для локального трейна (Unsloth работает на NVIDIA, AMD и Intel), но есть и готовый Collab Notebook для тренировки в облаке. ⚠️ FunctionGemma не предназначена для использования в качестве прямой диалоговой модели. @ai_machinelearning_big_data #AI#ML#LLM#Tutorial#Unsloth#LMStudio