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

TGINSIGHT SIMILAR POSTS

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

Изворен канал @pythonotes · Post #309 · 2 фев.

Метод строки split() разделяет строку на несколько строк по указанному символу >>> "a_b_c".split('_') ['a', 'b', 'c'] Можно указать максимальное количество разделений >>> "a_b_c".split('_', 1) ['a', 'b_c'] Или резать с другой стороны с помощью rsplit() (right split) >>> "a_b_c".rsplit('_', 1) ['a_b', 'c'] А что будет если оставить аргументы пустыми? >>> "a_b_c".split() ['a_b_c'] Получаем список с одним элементом, потому что по умолчанию используется пробельный символ. >>> "a b c".split() ['a', 'b', 'c'] То есть это равнозначно такому вызову? >>> "a b c".split(" ") ['a', 'b', 'c'] Кажется да, но нет! Давайте попробуем добавить пробелов между буквами >>> "a b c".split(" ") ['a', '', '', 'b', '', '', 'c'] И вот картина уже не так предсказуема 😕 А вот что будет по умолчанию >>> "a b c".split() ['a', 'b', 'c'] Всё снова красиво! 🤩 По умолчанию в качестве разделителя используется любой пробельный символ, будь то табуляция или новая строка. Включая несколько таких символов идущих подряд. А также игнорируются пробельные символы по краям строки. >>> "a\t b\n c ".split() ['a', 'b', 'c'] Аналогичный способ можно собрать с помощью регулярного выражения. Но пробелы по краям строки придется обрабатывать дополнительно. >>> import re >>> re.split(r"\s+", ' a b c '.strip()) ['a', 'b', 'c'] Здесь тоже можно указать количество разделений >>> re.split(r"\s+", 'a b c', 1) ['a', 'b c'] А что если мы хотим написать красиво, то есть split() без аргументов, но при этом указать количество разделений? В этом случае первым аргументом передаём None >>> "a\n b c".split(None, 1) ['a', 'b c'] Данный метод не учитывает строки с пробелами, взятые в кавычки 'a "b c" '.split() ['a', '"b', 'c"'] Но для таких случаев есть другие способы. #tricks#basic

Резултати

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

Пребарај: #olmohybrid

当前筛选 #olmohybrid清除筛选
Machinelearning

@ai_machinelearning_big_data · Post #9671 · 15.03.2026 г., 07:42

🌟OLMo Hybrid: RNN плюс трансформер в одной модели. Институт Аллена опубликовал OLMo Hybrid 7B - модель, которая построена на чередовании слоев Gated DeltaNet и стандартного внимания в соотношении 3:1. Такая архитектура решает больше подзадач из обучающих данных за меньшее число токенов, что напрямую снижает потребность в данных при обучении. Gated DeltaNet - это RNN с расширением в виде отрицательных значений матрицы переходов. Это небольшое изменение в правиле обновления внутреннего состояния позволяет слоям Gated DeltaNet реализовывать динамику попарной перестановки элементов и за счет этого решать задачи отслеживания состояния, недоступные чистым трансформерам. В OLMo Hybrid Ai2 показали, что гибридные модели выразительнее суммы своих частей. Существует класс задач (назовем их отслеживание состояния с обращением к памяти), которые не решают ни чистые трансформеры, ни чистые RNN, но гибрид справляется с ними уже при одинарном чередовании типов слоев. Абляционные эксперименты от 60M до 1B параметров показали, что GDN стабильно лучше Mamba2 как в чистом, так и в гибридном варианте, равномерное чередование слоев лучше концентрации внимания в середине сети, а соотношение 3:1 - оптимальный баланс между качеством и вычислительной стоимостью на средних и крупных масштабах. 🟡Тесты 🟢На MMLU OLMo Hybrid достигает той же точности, что OLMo 3 7B, используя на 49% меньше токенов; на срезе Common Crawl - на 35% меньше. 🟢Коэффициент эффективности использования данных у гибрида равен 83,7 против 94,9 у трансформера. 🟢Экономия данных растет с размером модели: примерно в 1,3 раза на 1B параметров и в 1,9 раза на 70B. После дообучения и адаптации к длинному контексту OLMo Hybrid обходит OLMo 3 во всех категориях оценки. На RULER при 64k токенах - 85,0 против 70,9 у базовой модели. 📌Лицензирование: Apache 2.0 License. 🟡Статья 🟡Набор моделей 🟡Техотчет @ai_machinelearning_big_data #AI#ML#LLM#OLMoHybrid#Ai2