Наверняка вы замечали, что в Python есть удобная функция для получения переменной окружения
os.getenv(NAME)
И её "сестра" для создания или изменения переменных окружения
os.putenv(NAME, VALUE)
Но почему-то putenv() не работает как должно. Энвайромент не обновляется!
os.putenv('MYVAR', '1')
print(os.getenv('MYVAR'))
... и ничего 😴
Почему так?
На самом деле энвайромент обновляется, но это значение не добавляется в словарь os.environ.
Откройте исходник функции os.getenv(). Это просто шорткат для os.environ.get()
В то время как putenv() это built-in С-функция.
Словарь os.environ (или точней класс из MutableMapping) создаётся из энвайромента в момент инициализации. Функция putenv() самостоятельно его не изменяет.
В тоже время, когда вы создаёте или изменяете ключ в os.environ, автоматически вызывается putenv() в методе __setitem__().
То есть, технически putenv() всё делает верно, но в os.environ это не отражается. Можно проверить так:
>>> os.putenv('MYVAR', '123')
>>> os.system('python -c "import os;print(os.getenv(\'MYVAR\'))"')
123
Я объявил переменную в текущем процессе и вызвал дочерний процесс, который её унаследовал и получил в составе os.environ.
Аналогично при удалении переменной вызывается еще одна built-in функция unsetenv(), удаляющая переменную из системы.
Итого
▫️ Удобней всего явно обновлять переменные через os.environ
▫️ Есть способ неявно создать/удалить переменную через putenv/unsetenv, что не повлияет на os.environ но изменит энвайромент и передаст изменения сабпроцессам. Но так лучше не делать!
▫️os.environ это просто обертка для built-in функций putenv() и unsetenv().
#basic
🚀 Релиз:Qwen3-Next-80B-A3B - эффективная модель заточенная на работа работу с очень длинным контекстом!
🔹80B параметров, но активируется только 3B на токен → тренировка и инференс 10x дешевле и быстрее, чем у Qwen3-32B (особенно при 32K+ контексте).
🔹Гибридная архитектура: Gated DeltaNet + Gated Attention → сочетает скорость и точность.
🔹Ultra-sparse MoE: 512 экспертов, маршрутизируется 10 + 1 общий.
🔹Multi-Token Prediction → ускоренное speculative decoding.
🔹 По производительности обходит Qwen3-32B и приближается к Qwen3-235B в рассуждениях и long-context задачах.
🟢Qwen3-Next-80B-A3B-Instruct показатели почти на уровне 235B flagship.
🟢Qwen3-Next-80B-A3B-Thinking превосходит Gemini-2.5-Flash-Thinking.
▪Попробовать: https://chat.qwen.ai
▪Анонс: https://qwen.ai/blog?id=4074cca80393150c248e508aa62983f9cb7d27cd&from=research.latest-advancements-list
▪ HuggingFace: https://huggingface.co/collections/Qwen/qwen3-next-68c25fd6838e585db8eeea9d
▪ ModelScope: https://modelscope.cn/collections/Qwen3-Next-c314f23bd0264a
▪Kaggle: https://kaggle.com/models/qwen-lm/qwen3-next-80b
▪ Alibaba Cloud API: https://alibabacloud.com/help/en/model-studio/models#c5414da58bjgj
@ai_machinelearning_big_data
#AI#LLM#Qwen#DeepLearning#MoE#EfficientModels#LongContext#Reasonin
✔️ Sakana AI придумали, как LLM самим сортировать контекст по важности
Обычные языковые модели читают текст как одну длинную ленту.
Что ближе к началу внимания - то “важнее”.
Что дальше - то модель видит хуже.
И тут появляется проблема: если важный факт спрятан где-то далеко среди шума, модель может его просто не использовать.
Она тратит внимание на всё подряд, вместо того чтобы сосредоточиться на главном.
Sakana AI предложили решение - RePo (Context Re-Positioning).
Идея очень понятная: модель получает модуль, который позволяет динамически “перепозиционировать” контекст.
Примерно как человек:
ты читаешь длинный документ, понимаешь, что важная часть была 20 страниц назад - и мысленно перечитываешь её, а лишнее игнорируешь.
Что делает RePo
- подтягивает важные куски информации ближе
- отодвигает шум и лишний текст
- помогает вниманию модели фокусироваться на нужном
В модели есть обучаемый модуль, который **переназначает позиции токенов по смыслу**, а не по порядку
✅ важно = то, что помогает уменьшать ошибку модели и правильно решать задачу
❌ второстепенно = то, что не помогает (шум), поэтому “отодвигается” по позициям
В результате модель с такой памятью начинает лучше работать там, где LLM обычно страдают:
- когда контекст длинный
- когда много шума
- когда важные детали раскиданы далеко друг от друга
- когда данные структурированные (таблички, списки, правила)
Авторы показывают, что RePo даёт заметный прирост устойчивости, при этом не ухудшая общее качество.
▶️ Устойчивость к шуму (Noisy Context)
Средний результат по 8 noisy-бенчмаркам:
- Обычный RoPE: 21.07
- RePo: 28.31
🟡 Прирост: +7.24 пункта (сильно)
Авторы отдельно фиксируют ключевую цифру:
на noisy-eval (4K контекст) RePo лучше RoPE на +11.04 пункта.
🔥 Примеры прироста на конкретных задачах
(везде RePo > RoPE)
- TriviaQA: 61.47 → 73.02 (+11.55)
- GovReport: 6.23 → 16.80 (+10.57)
- 2WikiMultihopQA: 23.32 → 30.86 (+7.54)
- MuSiQue: 7.24 → 13.45 (+6.21)
Это шаг к моделям, которые не просто “читают что дали”, а умеют сами организовать свою рабочую память.
🟡Подробности: pub.sakana.ai/repo/
🟡Статья: arxiv.org/abs/2512.14391
@ai_machinelearning_big_data
#RePo#SakanaAI#LLM#AI#AIAgents#Context#LongContext#Attention
📊 AI-автоматизация на страже новостей!
За период 07.07.2025 – 10.07.2025 наша система автоматически проанализировала для вас:
191 топовый сабреддит
449 Twitter-аккаунтов
29 Discord-серверов (226 каналов, 12 761 сообщений)
⏳ Экономия вашего времени:
Если бы вы читали это вручную со скоростью 200 слов в минуту, ушло бы целых 806 минут — а так, всё самое важное уже собрано в одном месте!
tags:
companies #xai#perplexityai#langchain#cursor#cline
models #grok4#grok4heavy#claude4opus
topics #modelreleases#benchmarking#longcontext#modelpricing#modelintegration#voice#performance#scaling#gpuoptimization
people’s #elonmusk#aravsrinivas#igorbabuschkin#yuchenj_uw