Подразумеваемые неймспейсы или неявные пакеты.
Этот функционал добавлен в Python 3.3
Что он означает?
Ранее, до 3.3 пакетами считались лишь директории, в которых есть файл __init__.py.
Этот файл одновременно являлся свидетельством того, что директория это Python-пакет, и служил "телом" этого пакета. То есть местом, где можно написать код, как это делается внутри модуля. Этот код исполняется в момент импорта пакета, так что его принято называть "код инициализации пакета".
Начиная с версии 3.3 Любая директория считается пакетом и Python будет пытаться использовать любую директорию для импорта.
Конечно, не любую в файловой системе, а только те что находятся в sys.path.
Это значит, что теперь __init__.py нужно делать только если:
🔸 вам требуется создать код инициализации пакета
🔸 нужна совместимость со старыми версиями Python
На мой взгляд это немного упрощает разработку, делает её чище, но с другой стороны убивает некоторую однозначность происходящего.
Например, я создал репозиторий со своей библиотекой и рядом положил код примеров или тестов.
repo_name/
my_library/
__init__.py
main.py
examples/
exam1.py
exam2.py
В этом репозитории пакетом является только my_library, остальные директории это не пакеты, это просто дополнительный код в файлах. Директория examples не добавлена в sys.path, в ней нет рабочих модулей. Но если она лежит рядом с my_library, то Python вполне сможет импортнуть из неё модули, так как посчитает что examples это валидный пакет.
Конечно, пример несколько надуманный. Никто не будет добавлять корень репозитория в sys.path. Но, я думаю, суть ясна. Иногда директория это просто директория а не пакет!
#basic#pep
⚡️Step 3.5 Flash: модель с гибридной архитектурой внимания и скоростью до 350 т/сек.
StepFun выпустили Step 3.5 Flash - очень интересную MoE-модель на 196 млрд. общих и 11 активных параметров.
Авторы заявляют сумасшедшую скорость до 300 токенов в секунду, а на задачах с кодом она, якобы, разгоняется до 350. Для модели такого уровня это очень бодро.
🟡Внутри накрутили много всего.
Вместо стандартного механизма внимания использовали гибридную схему: один слой полного внимания на 3 слоя скользящего окна, что позволило запихнуть в модель контекст на 256 тыс. токенов и при этом не забивать память до отказа.
В обучении использовали алгоритм MIS-PO, который помог решить проблему с потерей нити в длинных CoT, н просто отсекает варианты, которые слишком сильно уходят в сторону от логики.
Модель, как стало модно сейчас, затачивали под автономных агентов. Она умеет пользоваться десятком инструментов одновременно. В режиме Deep Research модель сама гуглит, планирует этапы и пишет отчеты размером до 10 тысяч слов.
Если нужно прогнать через модель тяжелый репозиторий с кодом, она справляется без тормозов, которые обычно возникают при работе с объемными текстами.
Завезли даже сценарии гибридного взаимодействия: это когда сервер планирует задачу, а локальная модель исполняет ее прямо на устройстве, например, управляя приложениями в смартфоне.
🟡Бенчмарки
Step 3.5 Flash набрала 97,3 на тесте AIME 2025 (и это голый ризонинг, без сторонних калькуляторов). Если же дать ей доступ к Python, результат взлетает до 99,8.
На кодовых бенчмарках цифры тоже выглядят красиво: в SWE-bench она выдает 74,4%, а на Terminal-Bench 2.0 - 51.0%.
Конечно, по плотности упаковки знаний Step 3.5 Flash пока уступает Gemini 3.0 Pro, но сам факт, что она доступна для локального использования и тестов через API, радует.
📌Лицензирование: Apache 2.0 License.
🟡Статья
🟡Модель
🟡Demo
🟡Сообщество в Discord
🖥GitHub
@ai_machinelearning_big_data
#AI#ML#LLM#StepFunAI
🌟Step3-VL-10B: VLM от stepfun.ai.
Пока индустрия одержима гигантоманией и соревнуется, у кого больше параметров, Stepfun решили пойти против течения.
Встречайте, Step3-VL-10B - компактная VL-модель, которая по заявлениям разработчиков не просто конкурирует, а буквально уделывает модели в 10–20 раз тяжелее, включая таких титанов, как Gemini 2.5 Pro и GLM-4.6V.
Звучит как маркетинговый хайп, но под капотом есть интересные инженерные решения, хоть и с хитринкой.
🟡Архитектура
Конструкция из кастомного визуального PE-lang энкодера на 1.8B параметров и Qwen3-8B (что уже половина успеха, учитывая мощь Qwen) в качестве декодера.
В отличие от многих, кто замораживает визуальную часть, Stepfun разморозили все и тренировали модель в один прогон на 1,2 трлн. токенов. Это позволило визуальной и языковой частям модели не просто сосуществовать, а реально срастись и притереться друг к другу.
После этого модель прогнали через адский RL-цикл (RLVR+RLHF) на 1400+ итераций, чтобы модель научилась жестко ризонить.
🟡Тесты
В бенчмарках цифры действительно страшные (в хорошем смысле) для такого размера:
🟢MMMU: 78.11 (SeRe) / 80.11 (PaCoRe).
🟢MathVista: 83.97
🟢AIME 2025: 87.66 (SeRe) / 94.43 (PaCoRe)
🟢OCRBench: 86.75 (отлично читает документы).
Для сравнения: GLM-4.6V на 106B выдает на MMMU только 75.20.
Инженерная хитринка кроется в методологии тестирования. Видите в результатах тестов пометку PaCoRe?
PaCoRe (Parallel Coordinated Reasoning):
Чтобы получить топовые цифры, модель использует test-time compute. Она запускает 16 параллельных роллаутов, собирает доказательства из разных веток и синтезирует ответ.
На инференсе это будет стоить вам в 16 раз "дороже" по ресурсам, чем обычный прогон. В стандартном режиме (SeRe) модель все еще хороша, но уже не выглядит как "убийца всех топов".
Кстати, Stepfun честно признались, что в отчетах накосячили с бенчмарками конкурента Qwen3VL-8B из-за неверного max_tokens. Извинились, обещают пересчитать. Это добавляет доверия, но напоминает, что бенчмарки - дело тонкое.
В общем, модель - отличный кандидат для локального использования: есть OpenAI-compatible API и vLLM поддерживается (PR вмержили).
⚠️ Если модель зацикливается при генерации - обновите конфиг, там был баг с eos_token_id, который уже пофиксили.
📌Лицензирование: Apache 2.0 License.
🟡Модель
🟡Arxiv
🟡Demo
@ai_machinelearning_big_data
#AI#ML#VLM#STEP3#StepFunAI