Hacker News

Fa'avasegaina o tusitusiga ma le Python 3.14's ZSTD module

Fa'avasegaina o tusitusiga ma le Python 3.14's ZSTD module O lenei su'esu'ega au'ili'ili o tusitusiga o lo'o tu'uina atu ai su'esu'ega au'ili'ili o ona vaega autu ma fa'auiga lautele. Vaega Autu e Taulai Atu O le talanoaga e fa'atatau i: O masini autu ma fa'apolopolo...

11 min read Via maxhalford.github.io

Mewayz Team

Editorial Team

Hacker News
O lea ua ou maua uma le talaaga ou te manaomia. Se'i ou tusia le blog post.

Fa'avasegaina o Tusitusiga ma le Python 3.14's ZSTD Module

Python 3.14 fa'afeiloa'i le compression.zstd module i le faletusi masani, ma tatala ai se faiga fa'ate'ia mamana i le fa'avasegaina o tusitusiga e aunoa ma ni fa'ata'ita'iga a'oa'oga masini. E ala i le fuaina o le lelei o le compressor e fa'apipi'i fa'atasi ni tusitusiga se lua, e mafai ai ona e iloa lo latou tutusa - o se metotia e ta'ua o le Normalized Compression Distance (NCD) - ma o lea ua fa'avavevave e le Zstandard mo le gaosiga o galuega.

E Fa'afefea ona Galulue Fa'avasegaina o Tusitusiga Fa'amau?

O le manatu autu o lo'o i tua o le fa'avasegaina e fa'atatau i le fa'amalosi e maua'a ile a'oa'oga fa'amatalaga. A fa'afeiloa'i e se algorithm fa'amalosi e pei o Zstandard se poloka o tusitusiga, e fausia ai se lomifefiloi i totonu o mamanu. Afai e lua tusitusiga e tutusa upu, syntax, ma fausaga, oomi fa'atasi e maua ai se fa'ai'uga na'o le lapo'a lapo'a nai lo le fa'omia na'o le tusitusiga lapo'a. Afai e le feso'ota'i, o le lapopo'a fa'apipi'i fa'atasi e latalata i le aofa'i o lapopo'a ta'itasi.

O lenei mafutaga e pu'eina e le Normalized Compression Distance formula: NCD(x, y) = (C(xy) - min(C(x), C(y))) / max(C(x), C(y)), pe a C(x) o le compressed size of text x, and C(xy) is the compressed size of the two texts concatenated. Ole tau ole NCD latalata ile 0 o lona uiga o tusitusiga e matua tutusa lava, ae ole tau ile 1 o lona uiga e toetoe lava a leai ni fa'amatalaga fa'amatalaga.

O le a le mea e mata'ina ai lenei metotia ona e le mana'omia ni fa'amatalaga a'oa'oga, leai se fa'ailoga, leai ni fa'apipi'i, ma leai se GPU. O le compressor lava ia e fai ma fa'ata'ita'iga a'oa'oina o le fa'atulagaina o tusitusiga. O su'esu'ega na fa'asalalauina i pepa e pei o le "Low-Resource Text Classification: A Parameter-Free Classification Method with Compressors" (2023) na fa'aalia ai o le Gzip-based NCD na fa'atusalia le BERT i luga o fa'ailoga fa'apitoa, ma fa'aosoina ai le toe fiafia i le faiga.

Aisea ua avea ai le Python 3.14's Zstandard Module ma Suia Ta'aloga mo NCD?

A'o le'i faia le Python 3.14, fa'aaoga le Zstandard e mana'omia le fa'apipi'iina o le vaega lona tolu python-zstandard afifi. O le compression.zstdmodule fou, faʻafeiloaʻi e ala i le PEP 784, faʻatau saʻo ma CPython. O lona uiga e leai se fa'alagolago i luga ole ulu ma se API fa'amaonia, fa'amautu e lagolagoina e le Meta's battle-tested libzstd. Mo galuega fa'avasega fa'apitoa, ua ofoina mai e Zstandard le tele o fa'amanuiaga nai lo le gzip po'o le bzip2:

  • Saosaoa: Zstandard fa'apipi'i 3-5x vave nai lo le gzip i fua fa'atusatusa, ma fa'avasegaina fa'aputuga i luga o le afe ma afe o pepa e mafai ona fa'aogaina i sekone nai lo minute
  • Tulaga fa'amalosi fa'alogo: Laasaga 1 e o'o i le 22 e fa'ataga ai oe e fefa'ataua'i le saoasaoa mo fua fa'atatau, e fa'ataga ai oe e fa'avasega le sa'o o le NCD e fa'atatau i mea e mana'omia e fa'aaogaina
  • Lomifefiloi lagolago: O lomifefiloi Zstandard mua'i a'oa'oina e mafai ona matua fa'aleleia atili le fa'apipi'iina o tama'i tusitusiga (i lalo ifo o le 4KB), o le lapo'a tonu lea o le lapopo'a o le pepa lea e sili ona taua ai le sa'o o le NCD
  • API fa'aola: E lagolagoina e le module le fa'apipi'i fa'aopoopo, e mafai ai ona fa'avasega paipa e fa'agasolo ai tusitusiga e aunoa ma le utaina o le tino atoa i le manatua
  • Fa'amautu le faletusi: Leai se fete'ena'iga, leai se fa'alavelave sapalai - mai le fa'aulufale mai fa'amalosi zstd e galue i so'o se Python 3.14+ fa'apipi'i

Malamalamaaga autu: E sili ona aoga le fa'avasegaina o fa'amamiga pe a e mana'omia se laina fa'atatau vave, e leai se fa'alagolago e fa'atautaia ai tusitusiga fa'a gagana. Talu ai e fa'agaoioi le compressors i paita mata nai lo fa'ailoga fa'apitoa o gagana, latou te fa'avasegaina pepa fa'aSaina, Arapi, po'o gagana fefiloi e pei lava o le Igilisi - e le mana'omia se fa'ata'ita'iga o gagana.

E Fa'atusa se Fa'atinoga Fa'atino?

Ose fa'avasegaga NCD la'ititi ile Python 3.14 e fetaui i lalo ole 30 laina. E te fa'aigoaina tusitusiga fa'asino ta'itasi (tasi i le vaega), ona fa'atatau lea mo pepa fou ta'itasi, fa'atatau le NCD fa'asaga i fa'amatalaga uma ma tu'u le vaega e pito i lalo le mamao. O le manatu autu lenei:

Muamua, fa'aulufale mai le module i le mai fa'apipi'i fa'aulufale mai zstd. Fa'amatala se galuega e talia ai manoa paita e lua, fa'apipi'i ta'itasi, fa'apipi'i fa'atasi, ma toe fa'afo'i le sikoa NCD. Ona fai lea o se lolomifefiloi fa'afanua fa'ailoga vaega e fa'atusa ai fa'ata'ita'iga tusitusiga. Mo pepa ta'itasi o lo'o o'o mai, fa'asino i vaega, fa'atatau le NCD, ma filifili le la'ititi.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

I fa'ailoga fa'asaga i le AG News dataset (fa-vasega talafou fa'avasegaina), o lenei faiga e fa'aaoga ai le Zstandard i le fa'amalosi tulaga 3 e ausia pe tusa ma le 62-65% le sa'o - leai se la'asaga o a'oa'oga, leai se fa'ata'ita'iga la'uina, ma le fa'avasegaina o le saoasaoa e tusa ma le 8,000 pepa i le sekone i luga o le CPU e tasi. O le si'itia o le tulaga fa'amalosi i le 10 e tuleia ai le sa'o i le 68% i le tau o le fa'aitiitia o le gaosiga i le tusa ma le 2,500 pepa i le sekone. O nei fuainumera e le fetaui lelei i transformers, ae e maua ai se laina faavae malosi mo le fa'ata'ita'iga, fa'ailoga fa'ailoga fa'amaumauga, po'o si'osi'omaga e le mafai ai ona fa'apipi'i fa'alagolago ML.

E Fa'afefea le NCD Fa'atusatusa i le Fa'avasegaga o ML?

O le tali fa'amaoni o le NCD e le o se mea e suitulaga i fa'avasegaga fa'a-transformer i faiga fa'ameamea maualuga. Fa'ata'ita'iga pei o le BERT po'o le GPT fa'avae fa'avasegaga e ausia le 94% + sa'o i luga o fa'ailoga masani. Ae ui i lea, o le NCD ma le Zstandard o loʻo nofoia se faʻailoga tulaga ese. E sili atu i faʻataʻitaʻiga malulu-amata e itiiti ifo i le 50 au faʻataʻitaʻiga faʻailoga i le vasega - o se tulaga e oʻo lava i faʻataʻitaʻiga lelei e tauivi. E mana'omia le leai o se taimi a'oa'oga, fa'atautaia so'o se gagana po'o fa'ailoga e aunoa ma se suiga, ma fa'agasolo atoa ile CPU ma manatua pea.

Mo pisinisi o lo'o pulea le tele o tusi o lo'o o'o mai - tiketi lagolago, fa'asalalauga fa'aagafesootai, iloiloga o oloa - e mafai e le fa'avasegaga o le Zstandard NCD ona avea o se alalaupapa muamua-pass lea e fa'avasegaina pepa i le taimi moni a'o le'i fa'aleleia e fa'ata'ita'iga sili atu ona taugata. O lenei paipa e lua-vaega e faʻaitiitia ai le tau faʻapitoa aʻo tumau pea le saʻo atoatoa. O fa'apolokalame e fa'agaoioia mea e fa'atupuina e tagata fa'apitoa ile fua, e pei ole Mewayz's 207-module business OS o lo'o fa'aogaina e le silia ma le 138,000 tagata fai pisinisi, e fa'amanuiaina mai le fa'avasegaga mama e fa'aala ai fe'au, fa'ailoga i totonu, ma fa'apitoa ai le poto masani a tagata fa'aoga e aunoa ma ni mea tetele.

O a Tapula'a ma Fa'atinoga Sili?

O le fa'avasegaga fa'avae fa'amami e iai ni tapula'a e tatau ona e fa'atinoina. O tusitusiga pupuu (i lalo ifo o le 100 paita) e maua mai ai sikola NCD e le maufaatuatuaina ona e le lava fa'amaumauga a le compressor e fausia ai ni mamanu anoa. O le metotia e maaleale foi i le filifiliga o tusitusiga - o sui e le lelei ona filifilia e faʻaleagaina le saʻo. Ma talu ai o le NCD o se metric mamao ae le o se fa'ata'ita'iga fa'ata'ita'i, e le maua mai ai fa'ailoga mautinoa.

Ina ia maua le tele o mea mai lenei faiga: fa'aaoga tusitusiga fa'asino ia le itiiti ifo i le 500 paita i le vaega, fa'ata'ita'i i le tu'ufa'atasia o le tele o fa'ata'ita'iga i le vasega (2-3 pepa fa'atusa e tu'ufa'atasia e maua mai ai lomifefiloi sili atu ona lelei), fa'asa'o le fa'apipi'iina o tusitusiga ma avanoa papa'e a'o le'i fa'omia, ma fa'ailoga i luga ole Zstandard compression level 3, 6, ma le 10ccura suamalie. Mo le fa'avasegaina o tusitusiga laiti, mua'i a'oa'o se lomifefiloi Zstandard i lau vaega fa'aletino - o lenei la'asaga tasi e mafai ona fa'aleleia atili le sa'o i le 8-12 pasene i pepa pupuu.

Fesili e Fai soo

E aoga le fa'avasegaina o fa'amamiga mo le su'esu'eina o lagona?

E mafai, ae e iai fa'amatalaga. O le su'esu'eina o lagona e mana'omia ai le su'esu'eina o eseesega o le tone i totonu o tusitusiga fa'atusa tutusa. E sili atu le aoga o le NCD mo le fa'avasegaina o autu pe a fa'aogaina e pepa i vaega 'ese'ese upu 'ese'ese. Mo lagona, sa'o sa'o e masani ona tulaueleele i le 55-60% - sili atu nai lo le fa'afuase'i, ae le o le gaosiga-sauni na'o ia. O le tu'ufa'atasia o foliga o le NCD ma se fa'ata'ita'iga fa'ata'ita'iga mama mama e fa'aleleia atili ai i'uga.

E mafai ona ou faʻaogaina le compression.zstd module i le Python versions i luma ole 3.14?

Leai. O le compression.zstd module e fou ile Python 3.14. Mo lomiga muamua, fa'apipi'i le python-zstandard afifi mai le PyPI, lea e maua ai galuega tutusa compress() ma decompress(). O lo'o tumau pea le manatu o le NCD - na'o le fa'amatalaga fa'aulufale e sui. O le taimi lava e te fa'aleleia ai i le 3.14, e mafai ona e fa'aitiitia atoa le fa'alagolago.

E fa'apefea ona fa'atino le Zstandard NCD pe a fa'atusatusa i le TF-IDF fa'atasi ai ma le cosine tutusa?

I le fa'avasegaina o mataupu e tele-vasega ma fa'amaumauga paleni, TF-IDF fa'atasi ai ma le cosine tutusa e masani lava ona ausia le 75-82% sa'o pe a fa'atusatusa i le Zstandard NCD's 62-68%. Peita'i, e mana'omia e le TF-IDF se vectoriser fa'apipi'i, se 'upu fa'amalamalamaina, ma lisi fa'agata fa'agagana. O le Zstandard NCD e le mana'omia se tasi o nei fa'agaioiga muamua, galue i gagana i fafo atu o le atigipusa, ma fa'avasegaina pepa fou i taimi uma e tusa lava po'o le a le tele o upu. Mo fa'ata'ita'iga vave po'o si'osi'omaga e tele gagana, o le NCD e masani lava o le ala saosaoa i se faiga galue.

Pe o lo'o e fauina ni paipa otometi, fa'asalalau fe'au a tagata fa'atau, po'o fa'ata'ita'iga fa'avasegaga fa'avasegaga mo lau pisinisi fa'atekinolosi, Python 3.14's built-in Zstandard support e fa'afaigofie ai le NCD fa'avae compression nai lo se isi lava taimi. Afai o lo'o e su'eina se fa'avae atoa i totonu e tasi e fa'atautaia ai au mea tau pisinisi, oloa, kosi, ma fegalegaleai a tagata fa'atau, amata fau ma Mewayz i aso nei ma fa'aoga nei metotia i lau galuega atoa.

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime