فشردهسازی در واقع پیشبینیه
خلاصهٔ کاملتر
نویسنده تو این مطلب با یه مثال ساده شروع میکنه: مینیفای کردن کد فقط بخشهای غیرضروری رو حذف میکنه، ولی فشردهسازی واقعی (مثل gzip یا Brotli) بر پایهی تکرار (redundancy) تو دادههاست. مثلاً یه رشته با تکرارهای زیاد رو میشه با شمردن تعداد تکرار هر کاراکتر (به این روش run-length encoding میگن) خیلی کوچیکتر کرد.
به گفتهی نویسنده، هر ابزار فشردهسازی از سه بخش تشکیل شده: تبدیلگر (transform)، مدل، و کدگذار آنتروپی (entropy coder). مدل احتمال هر نماد رو حساب میکنه و کدگذار آنتروپی از روی اون احتمالها، خروجی نهایی رو میسازه. یکی از معروفترین کدگذارها arithmetic codingـه که کل یه رشته رو با یه عدد اعشاری تو بازهی صفر تا یک نشون میده؛ هرچی احتمال یه نماد بیشتر باشه، بازهی کوچیکتری از این عدد رو مصرف میکنه، یعنی بیت کمتری لازم داره.
مقاله مفهوم «آنتروپی» (entropy) رو هم با مثال حدسزدن یه حیوون تو یه جمله توضیح میده: هرچی احتمال یه گزینه بیشتر باشه، حدسزدنش راحتتره و بیت کمتری لازم داره؛ فرمولش میشه لگاریتم منفی احتمال. نویسنده نشون میده وقتی مدل بهجای فقط شمردن فراوانی، به زمینه (context) هم توجه کنه (مثلاً حرف قبلی رو هم در نظر بگیره، که بهش مدل order-1 میگن)، پیشبینی خیلی دقیقتر و فشردهسازی به همون نسبت بهتر میشه.
نویسنده به گزارش دیپمایند گوگل تو سال ۲۰۲۳ اشاره میکنه که فشردهسازی و مدلسازی زبان رو دو روی یه سکه میدونه: LLM هم دقیقاً همین کارو میکنه، یعنی برای هر توکن یه توزیع احتمال پیشبینی میکنه؛ فقط بهجای انتخاب توکن بعدی، احتمال همون توکن واقعی رو به کدگذار آنتروپی میده. تو مثال مقاله، یه مدل order-1 ساده یه جملهی معروف از دیکنز رو به ۲۴٪ حجم اصلی میرسونه، ولی GPT-2 همون جمله رو به ۱۰٪ میرسونه.
با این حال نویسنده توضیح میده چرا از LLM برای فشردهسازی معمولی مثل صفحات وب استفاده نمیشه: چون خود مدل چند گیگابایتیه و اجراش خیلی زمانبر و پرهزینهست، در حالی که gzip با یه مدل کوچیک و سریع همین کارو با سربار ناچیز انجام میده.
نکات کلیدی:
- فشردهسازی واقعی بر پایهی تکرار و احتمال نمادهاست، نه فقط حذف کاراکترهای زائد مثل مینیفای کردن.
- arithmetic coding کل یه رشته رو با یه عدد اعشاری تو بازهی صفر تا یک کدگذاری میکنه.
- آنتروپی یعنی کمترین بیت لازم برای هر نماد؛ فرمولش لگاریتم منفی احتمال ـه.
- مدلهای order-N با در نظر گرفتن زمینه (context)، پیشبینی و فشردهسازی رو بهتر میکنن.
- GPT-2 یه جملهی دیکنز رو به ۱۰٪ حجم اصلی رسوند در برابر ۲۴٪ مدل order-1، ولی بهخاطر هزینهی اجرا، برای فشردهسازی معمولی بهصرفه نیست.




