Тип строки в Python имеет очень много удобных методов. Сегодня пост про два таких метода которые чаще всего используются "однобоко". Это методы startswith() и endswith()
Самый обычный сценарий использования — проверка, начинается ли строка с указанной подстроки?
>>> "some_string".startswith("some")
True
И аналогичная ситуация с зеркальным вариантом этой функции, проверка совпадения с конца
>>> "some_string".endswith("some")
False
Так они используются в большинстве случаев что я видел. Но у этих функций есть еще два варианта использования.
🔸Сравнение нескольких подстрок
Для проверки нескольких подстрок в одной строке обычно вызывают эти функции несколько раз. Но на самом деле достаточно передать кортеж со всеми строками один раз. Если будет хоть одно совпадение то функция вернёт True.
>>>"my_image.png".endswith(("jpg", "png", "exr"))
True
🔸Диапазон поиска
Вторым аргументом можно передать индекс символа с которого следует начать сравнение, а третий аргумент это индекс последнего символа.
>>> ".filename.ext".startswith("file", 1)
True
>>> "file_###.ext".endswith('#', 0, -4)
True
Индексы можно указать отрицательными, что означает отсчёт с конца.
#trics#basic
⚡️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