Ранее я делал серию постов про битовые операторы.
Вот вам ещё один наглядный пример как это используется в Python в модуле re.
Чтобы указать флаг для компилятора нам надо указать его после передаваемой строки. Например, добавляем флаг для игнорирования переноса строки.
pattern = re.compile(r"(\w+)+")
words = pattern.search(text, re.DOTALL)
А как указать несколько флагов? Ведь явно будут ситуации когда нам потребуется больше одного. Кто читал посты по битовые операторы уже понял как.
pattern.search(text, re.DOTALL | re.VERBOSE)
А теперь смотрим исходники, что находится в этих атрибутах?
Не удивительно, степени двойки. Почему? Потому что каждое следующее значение это сдвиг единицы влево.
>>> for n in [1, 2, 4, 8, 16, 32, 64, 128, 256]:
>>>
print(bin(n))
0b1
0b10
0b100
0b1000
0b10000
0b100000
0b1000000
0b10000000
0b100000000
Чтобы было понятней, давайте напишем тоже самое но иначе, добавим ведущие нули:
000000001
000000010
000000100
000001000
000010000
000100000
001000000
010000000
100000000
Не понятно что тут происходит? Читай три поста про битовые операторы начиная с этого ➡️https://t.me/pythonotes/45
В общем, это пример применения побитовых операций в самом Python.
Теперь вы знаете Python еще немного лучше)
#tricks#regex#libs
📌Как создавали RL-агент AutoGLM-OS, который выбил SOTA на OSWorld, обогнав OpenAI и Anthropic.
Автономные агенты, способные управлять рабочим столом - это Грааль современного HCI. Но их обучение сопряжено с трудностями: GUI созданы для людей, а не для машин, а масштабирование RL упирается в неэффективность и нестабильность сред.
В Z.ai сделали фреймворк COMPUTERRL, который лег в основу агента AutoGLM-OS. Результат - state-of-the-art на бенчмарке OSWorld: 48.1% успешных выполнений и это лучше, чем у OpenAI CUA 03 (42.9%), UI-TARS-1.5 (42.5%) и Claude 4.0 Sonnet (30.7%).
OSWorld — это крупный бенчмарк из 369 заданий для проверки многомодальных ИИ-агентов в реальных условиях. Он работает в Ubuntu, Windows и macOS.
В нем ИИ выполняет открытые задачи: работает с веб- и десктопными приложениями, управляет файлами, запускает процессы. Каждое задание имеет четкие начальные условия и скрипты для оценки, чтобы результаты можно было воспроизвести.
Такие высокие показатели - результат комбинации 3-х инноваций.
🟡Новая парадигма взаимодействия API-GUI.
Фреймворк объединяет GUI-взаимодействия с быстрыми и точными API-вызовами образуя систему, которая через LLM автоматически анализирует примеры задач, генерирует необходимый API-код для стандартных приложений Ubuntu и даже создает для него базовые тесты.
Таким образом, агент использует быстрые API там, где это возможно, и переключается на GUI для общих задач, что повышает и скорость, и надежность. Абляция показала, что переход от GUI-only к API-GUI поднимает средний показатель успеха с 11.2% до 26.2%.
🟡Масштабируемая распределенная RL-инфраструктура.
OSWorld крайне ресурсоемок, и запуск множества его экземпляров на одном узле это тот еще квест. Z.ai полностью переработали эту среду, используя qemu-in-docker для легковесного развертывания VM, gRPC для связи между узлами и полностью асинхронный фреймворк AgentRL. Это позволило создать кластер из тысяч параллельных виртуальных сред, к котором онлайн-обучение RL-агентов стало максимально эффективным.
🟡Стратегия обучения Entropulse.
Entropulse решает проблему коллапса энтропии, чередуя фазы RL с периодическими сессиями SFT. Во время RL-фазы собираются все успешные траектории, и на их основе формируется новый SFT-датасет. Затем модель дообучается на этом датасете, что позволяет восстановить её исследовательскую способность без потери производительности. После этого запускается вторая, более эффективная фаза RL.
Эта стратегия позволила AutoGLM-OS, построенному на базе 9B GLM-4, достичь финального результата в 48.1%, в то время как после первой RL-фазы показатель был 42.0%.
🟡Arxiv
@ai_machinelearning_big_data
#AI#ML#Agents#AutoGLM#Zai