Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
from timeit import timeit
def t1():
# складываем 10 строк через + из переменной
t = 'text'
for _ in range(1000):
s = t + t + t + t + t + t + t + t + t
def t2():
# склеиваем список строк через метод join
arr = ['text'] * 10
for _ in range(1000):
s = ''.join(arr)
def t3():
# складываем через + но не из переменной а непосредственно инлайн объекты
for _ in range(1000):
s = 'text' + 'text' + 'text' + ... # всего 10 раз
Теперь каждую строку склейки запустим по 10М раз
>>> timeit(t1, number=10000)
0.21951690399964718
>>> timeit(t2, number=10000)
1.4978306379998685
>>> timeit(t3, number=10000)
0.2213820789993406
Хм, а нам говорили что через "+" это плохо и медленно ))) 😁
Тут стоит учитывать, что речь идёт о склейке множества длинных строк.
Давайте изменим условия:
def t4():
t = 'text'*100
for _ in range(1000):
s = t + t + t + t + t + t + t + t + t
def t5():
arr = ['text'*100] * 10
for _ in range(1000):
s = ''.join(arr)
def t6():
for _ in range(1000):
s = 'text'*100 + 'text'*100 + ... # всего 10 раз
>>> timeit(t4, number=10000)
12.795130728000004
>>> timeit(t5, number=10000)
2.642637542999182
>>> timeit(t6, number=10000)
0.2184546610005782
Вот, уже другой разговор, сразу видна разница, в среднем в 6 раз. Но погодите, почему последний тест t6() по скорости такой же как и t3()? Ведь строки теперь в 100 раз длиннее!
Это вопросы оптимизации кода, какие простые изменения ускоряют или замедляют выполнение программы. Мы столкнулись с примером обхода обращения к переменной. Например, именно так работает директива #define в С++, во время компиляции подставляя значение переменной вместо ссылки на неё.
В Python это тоже работает, но часто ли вы сможете встретить такой способ работы со строками? К сожалению, способ почти только теоретический.
В целом, тесты показали то, что мы хотели. Делаем выводы самостоятельно.
Полный листинг 🌍
#tricks
⚡️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