TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #303 · 27 дек.

Наверняка вы замечали, что в 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

Hashtags

Резултати

Пронајдени 2 слични објави

Пребарај: #kvcache

当前筛选 #kvcache清除筛选
Machinelearning

@ai_machinelearning_big_data · Post #8027 · 11.07.2025 г., 12:05

🌟LMCache: умное кэширования для LLM-инференса. LMCache - проект, который предлагает решение по сохранению KV-кэша на CPU, диске или даже в специализированной памяти NIXL. По сути, это инструмент, который превращает одноразовые вычисления в многократно используемые блоки, экономя время и ресурсы. Представьте, что в чат-боте пользователи часто ссылаются на один и тот же системный промпт или историю диалога. Обычно модель заново обрабатывает эти данные, но LMCache просто загружает готовый кэш. Выгрузка KV-кэшей освобождает GPU для новых задач, уменьшая TTFT (время до первого токена) вплоть до 10 раз. 🟡LMCache гибкий. Кэши можно не только выгружать, но и делиться между разными инстансами LLM. Проще говоря, если два пользователя одновременно обращаются к разным копиям модели с одинаковым запросом, система не будет дублировать работу: результаты одного prefill’а станут доступны всем. Это работает даже для неполных префиксов, например, при частичном совпадении входных данных. 🟡LMCache умеет в раздельную предобработку. Prefill и decode, которые обычно выполняются на одном GPU, теперь могут быть разнесены: первый этап обрабатывается на мощных узлах, а второй на оптимизированных для генерации. Для распределенных систем такая техника повысит пропускную способность. Тесты разработчиков проекта показывают, что в реальных задачах задержка снижается в 3–10 раз, а GPU-циклы экономятся на повторных вычислениях. Проект тесно интегрируется с vLLM, в репозитории есть большой набор с примерами, документация и советы по установке и настройке. ⚠️Калькулятор KV-кеша с выбором модели, ее типа данных и количества токенов, который поможет прикинуть, сколько VRAM можно сэкономить. 📌Лицензирование: Apache 2.0 License. 🖥Github @ai_machinelearning_big_data #AI#ML#LLM#LMCache#KVCache#Github

Machinelearning

@ai_machinelearning_big_data · Post #8010 · 10.07.2025 г., 11:37

⚡️ Китайские исследователи из Shanghai Jiao Tong и Zhejiang University представили MemOS — первую в мире "операционную систему памяти" для ИИ. Обычные LLM быстро забывают информацию, а дообучать их — долго и дорого. В новой работе предлагают радикально другой подход: MemOS превращает память в часть операционной системы. 🟢Память как файлы: Модель может *записывать, перемещать и удалять* знания, как будто работает с файлами, и делать это прямо во время работы, а не только на этапе обучения. 🟢MemCube — контейнер знаний: Каждое знание упаковывается в кубик с метками времени и авторства. Планировщик сам решает, где хранить этот "куб" — в тексте, GPU‑кэше или в виде маленького патча весов. 🟢Умная экономия: MemOS работает с 1500 токенами памяти, но достигает такой же точности, как если бы модель загружала весь контекст. При этом скорость — как у облегчённых моделей. 🟢Мгновенная подгрузка: На тестах с Qwen2.5‑72B переключение нужных "кубов" в кэш снижает задержку первого токена на 91.4%, *без изменения ответа*. 🟢Результаты: MemOS набрал 73.31 балла по LLM‑Judge на LOCOMO-бенчмарке — почти на 9 баллов больше ближайшего конкурента. Особенно хорошо работает на сложных задачах с несколькими шагами и временными зависимостями. 💡 Итог: память как ОС — это не просто удобно, это ускоряет модель, повышает точность и даёт контроль над знаниями. Установка: pip install MemoryOS 🟠GitHub 🟠Проект @ai_machinelearning_big_data #MemoryOS#agentmemory#rag#kvcache