Что делать если нужно поставить какую-то Python-библиотеку а root-прав нет? То есть в систему библиотеку никак и ничего не поставить.
Есть как минимум два способа это решить правильно!
🔸 Сделать виртуальное окружение и ставить там что угодно.
Это позволит создать полностью независимое исполняемое окружение для ваших приложений.
Все библиотеки будут храниться в домашней директории юзера а значит доступ на запись имеется.
Создать очень просто:
python3 -m venv ~/venvs/myenvname
Теперь активируем окружение
# Linux
source ~/venvs/myenvname/bin/activate
# Windows
%userprofile%\venvs\myenvname\Scripts\activate.bat
Можно ставить любые библиотеки и запускать приложение.
Это стандартный метод работы с любым проектом. Если еще не используете его, то пора начинать. Даже при наличии root доступа!
🔸 Бывает, что нет возможности запустить приложение из своего виртуального окружения. Например, его запускает какой-то сервис от вашего юзера и вставить активацию окружения вы не можете.
В этом случае можно установить библиотеки для Python не глобально в систему, а только для юзера.
Выполните этот код в консоли:
python3 -m site
Вы получите что-то такое:
sys.path = [
'/home/user',
'/usr/lib/python37.zip',
'/usr/lib/python3.7',
'/usr/lib/python3.7/lib-dynload',
'/home/user/.local/lib/python3.7/site-packages',
...
]
USER_BASE: '/home/user/.local'
USER_SITE: '/home/user/.local/lib/python3.7/site-packages'
ENABLE_USER_SITE: True
Нас интересует параметр USER_SITE. Это путь к пользовательским библиотекам, которые доступны по умолчанию, если они есть.
Именно сюда будут устанавливаться модули если добавить флаг --user при установке чего-либо через pip
pip install --user requests
Для этой команды не нужны root-права.
После неё можно запускать системный интерпретатор без виртуальных окружений и установленная библиотека будет доступна для текущего юзера.
Параметр USER_BASE показывает корневую директорию для хранения user-библиотек. Её можно изменить с помощью переменной окружения PYTHONUSERBASE
export PYTHONUSERBASE=~/pylibs
python3 -m site
...
USER_BASE: '/home/user/pylibs'
USER_SITE: '/home/user/pylibs/lib/python3.7/site-packages'
Получается некоторое подобие виртуального окружения для бедных 😁 которое можно менять через эту переменную (не делайте так!Лучше venv!)
🔸 Дописывание пути в PYTHONPATH
Этот способ не входит в список "двух правильных", но тоже рабочий. Здесь придётся сделать всё несколько сложней.
Сначала ставим библиотеку в любое место указывая путь установки
pip3 install -t ~/mylibs modulename
Библиотека установится без привязки к какому-либо интерпретатору. То есть по умолчанию не будет видна. Теперь в нужный момент добавляем этот путь в sys.path или в PYTHONPATH.
Не буду советовать так делать. Единственный раз когда этот способ мне пригодился и решил поставленную задачу, это при создании общей библиотеки для кластера компьютеров.
Модули лежат в сети и подгружаются для всех из одного и того же места. То есть обновлять файлы требуется только один раз а не на всех хосты отдельно.
Минусы такого подхода:
▫️Нужно всем хостам пробить нужный путь в .bashrc или ещё куда-то чтобы он сетапился на старте.
▫️Чем больше хостов тем больше нагрузка на сеть. Иногда такой способ не подходит именно по этой причине. Тогда Ansible вам в помощь.
▫️Не очень подходит если хосты с разными операционками. Некоторые библиотеки различаются для Linux и Windows (там, где есть бинарники) и приходится мудрить более сложные схемы.
#tricks#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