Как стать автором
Обновить

Фабрис Беллар разработал эффективный архиватор текста с учётом вероятности появления следующего слова

Время на прочтение3 мин
Количество просмотров9.1K
Всего голосов 46: ↑46 и ↓0+46
Комментарии40

Комментарии 40

Отдам все деньги тому, кто придумает такой алгоритм для бинарных данных :) Объёмы непакованного plain text — капля в море

Отдайте их разработчикам AV1. Видео — основной трафик в интернете.

НЛО прилетело и опубликовало эту надпись здесь
ZPAQ. Вот что тебе надо. Работает тоже на предсказании, но не через нейросети. Потенциально можно тюнинговать под любые данные.
В реальности надо сравнивать разные архиваторы, они могут заточены под конкретный тип файлов, остальные форматы они будет жать хуже. И проверять распаковку, могут и не распаковать.
Особенность этого архиватора в том, что в каждый блок архивированых данных записывается алгоритм распаковки. Т.е. для каждого вида данных потенциально может быть свой препроцессор. Создатель сего архиватора вышел на пенсию и больше активно не занимается им. Но и в текущем состоянии он более чем юзабелен и часть его кода находится в паблик домейн, а часть в GPL.
интересно включает ли распаковщик в себя те самые 345 миллионов параметров
и если да то каков размер этого распаковщика
Конечно включает.
221 мегабайт запакованный размер самой маленькой языковой модели с 117 миллионами параметров.
Вообще тема далеко не новая, для сжатия с потерями нейросети используются очень и очень давно. Здесь интересно, что сделано сжатие без потерь. Ну плюс трансформер, да, это очень мощная модель.
Меня больше смущает скорость работы, хоть автор и говорит что " is quite fast." — quite может быть весьма расплывчатым понятием для трансформера применяющегося на CPU

А что такого в сжатии без потерь? Если модель выдаёт вероятности следующего символа или слова, дальше просто включается в работу арифметический энкодер. Разновидность ppm алгоритма, я так понимаю.


Весь интерес – именно в качестве модели. Надо будет посмотреть статистику по архиваторам и сравнить (но в них обычно модель учится с нуля на входящем потоке).


По скорости – учитывая, что модель обучать на лету не надо, она может быть довольно высока.

Интересно, иероглифы азиатских стран не наследие неких предков, которые сжимали таким образом свой праязык?
Конечно, сжимали. Чтобы уместить побольше текста на маленькую глиняную табличку.
Насколько помню — иероглифы азиатские это другая ветка развития традиционной пиктографической записи где использовали пиктограммы-образы. Если наши алфавиты в итоге пришли к фонетической записи, а пиктограммы преобразовались в знакомые нам простые символы, то у них наоборот, пиктограммы стали абстрагироваться от первоначального образа и количество их расти, значения множиться и усложняться связи между ними. Можно например в некоторых иероглифах китайских до сих пор увидеть первоначальные образы: гора(山), огонь(火), человек(人), дверь(門).
И у нас можно. А это перевернутая голова быка (алеф — бык -> альфа -> А или A).
Ну вот в случае кириллицы и латиницы даже я, со своей больной фантазией, никак не смогу увидеть в А — быка, а в Е — человека. Тут уже нужна работа специалистов.
даже я, со своей больной фантазией, никак не смогу увидеть в А — быка

Да ёктель! Кверху ногами переверните!


Вот так: --> ∀


Видите сужающуюся книзу морду и рога?

Удивительный человек! Спасибо ему.
НЛО прилетело и опубликовало эту надпись здесь
а насколько устойчив к потерям данных алгоритм из сей статьи?
Алгоритм из статьи работает без потерь.
Фабрис крутой! Сколько у него проектов, тут вот выше показали ссылку на QuickJS — последний релиз был четыре дня назад! Откуда у него столько эмоциональных и физических сил на всё это? Честь и хвала таким людям.

Видимо, ему не надо зарабатывать на еду.

Из всего, что я пробовал, лучше всего сжимало тексты (впрочем, как и любые другие данные) оно, но, увы, достигнуто это доведённым до абсурда потреблением памяти и отсутствием распараллеливания.
Когда-то увлекался сравнением уровня сжатия архиваторов. Не самый шустрый и достаточно старый Nanozip сжимает текстовый файл до 15 %. Сразу возникает вопрос скорости сжатия архива? Обычно, чем лучше жмет — тем дольше работает архиватор.
Для теста использована модель enwik5, хотя сейчас принято тестировать enwik9 (на 4 порядка больше файл). Есть даже приз 500000 евро кто сожмет лучше всех.
Кстати, cmix v18 сжимает enwik9 до 11.6% (http://mattmahoney.net/dc/text.html — там большая таблица архиваторов приведена)
Реинкарнация архиватора ha.com?
Помнится в свое время его в книжной файлэхе использовали потому что он лучше всего голый текст жал.

ha.com — это же Хаффман банальный.

Нет. Это ppm (не помню, с хаыфманом или с арифметическим энкодером в качестве финального шага), с контекстом в 4 символа, емнип.

Очень крутой проект Фабриса — Amarisoft.com. Правда, коммерческий. Но крутой.

Расскажите подробнее, а то выглядит как кликбейтный коммент)
Зашел на сайт и в 4 ночи не понял, что конкретно они делают

Если простыми словами: lte epc, lte enb с подключенным sdr. Также всякие сопутствующие штуки, типа эмулятора UE

Простые слова — это когда понятна суть без профессиональных терминов и аббревиатур:)
А у вас тут набор тегов для коллег)
эффективный архиватор текста с учётом вероятности появления следующего слова

Варкалось. Хливкие шорьки пырялись по наве, и хрюкотали зелюки, как мюмзики в мове.


(Кажется, я сломал архиватор ;)

НЛО прилетело и опубликовало эту надпись здесь
сжимается всего в 10 символов
видимо, 4-хбайтовых, то есть 40 байт?

15 битные

Интересно, а он делает аббревиатуры и сокращения, например вместо Федеральная Служба Безопасности написать в ФСБ, процент сжатия посчитайте сами.
Угу, в место сценария игры престолов: «ну кароче там все рандомно умерли»)))
Зарегистрируйтесь на Хабре, чтобы оставить комментарий