Hacker News

Te whakarōpūtanga kupu me te kaupapa ZSTD a Python 3.14

Te whakarōpūtanga kupu me te kaupapa ZSTD a Python 3.14 Ko tenei tātaritanga matawhānui o te tuhinga e whakaatu ana i te whakamaaramatanga o ona waahanga matua me nga tikanga whanui. Ngā Wāhanga Arotahi Ko nga korero e arotahi ana ki: Nga tikanga matua me nga mahi...

11 min read Via maxhalford.github.io

Mewayz Team

Editorial Team

Hacker News
Inaianei kei a au nga horopaki katoa e hiahiatia ana e au. Tukua ahau ki te tuhi i te panui rangitaki.

Whakarōpū Kuputuhi me te Python 3.14's ZSTD Module

Python 3.14 he whakauru i te compression.zstd kōwae ki te whare pukapuka paerewa, a ka iriti i te huarahi tino kaha ki te whakarōpūtanga kuputuhi me te kore tauira ako miihini. Ma te ine me pehea te pai o te kaikopere ki te kotike i nga tuhinga e rua, ka taea e koe te whakatau i te ritenga - he tikanga e kiia nei ko Normalized Compression Distance (NCD) - inaianei ka tere tere a Zstandard mo nga mahi mahi.

Me pehea te Whakar

Ko te whakaaro matua i muri i te whakarōpūtanga i runga i te kōpeketanga i ahu mai i te ariā korero. I te wa e tutaki ana te algorithm ki te Zstandard ki tetahi poraka kuputuhi, ka hangaia he papakupu o roto o nga tauira. Mena he rite nga kupu e rua, te wetereo, me te hanganga, ko te kopeke tahi ka puta he hua iti ake i te kopeke i te tuhinga nui anake. Mena karekau he hononga, ka tata te rahi kōpeke hono ki te tapeke o nga rahi takitahi.

Ka mauhia tenei hononga e te Tatai Tawhiti Whakatau Whakatau: NCD(x, y) = (C(xy) - min(C(x), C(y))) / max(C(x), C(y)), ko C(x) te rahi kōpeketanga o te kuputuhi x, ko C(xy) te rahi kōpeke o ngā tuhinga e rua. Ko te uara NCD tata ki te 0 te tikanga he tino rite nga tuhinga, ko te uara tata ki te 1 te tikanga karekau he korero korero.

He aha te mea whakamiharo i tenei tikanga ko te kore e hiahiatia he raraunga whakangungu, kaore he tohu, kaore he whakaurunga, kaore he GPU. Ko te compressor ake hei tauira ako mo te hanganga o te tuhinga. Ko nga rangahau i whakaputaina i roto i nga pepa penei "Te Whakarōpū Kuputuhi Rauemi Iti: He Tikanga Whakarōpū Kore-Tawhā me nga Kaipupuri" (2023) i whakaatu ko te NCD-a-gzip te whakataetae ki a BERT i runga i etahi tohu tohu, na te mea i puta te hiahia hou ki te huarahi.

He aha te Python 3.14's Zstandard Module hei Huri-Kimiro mo NCD?

I mua i te Python 3.14, ma te whakamahi i te Zstandard me whakauru i te kete tuatoru python-zstandard. Ko te kōwae hou compression.zstd, i whakauruhia ma PEP 784, ka tukuna tika me CPython. Ko te tikanga tenei ko te kore whakawhirinaki ki runga ake me te API pumau, e tautokohia ana e te libzstd kua whakamatauria te whawhai a Meta. Mo nga mahi whakarōpūtanga, he maha nga painga ka tukuna e Zstandard ki runga i te gzip me te bzip2:

  • Tetere: Ka kōpeke a Zstandard kia 3-5x tere ake i te gzip i ōwehenga rite, ka taea te whakarōpūtanga puranga ki runga i nga mano o nga tuhinga ka taea i roto i te hēkona kaua i te meneti
  • Nga taumata kōpeketanga ka taea: Ko nga Taumata 1 ki te 22 ka taea e koe te hokohoko tere mo te ōwehenga, ka taea e koe te whakatika i te NCD tika ki nga whakaritenga whakauru
  • Tautoko Papakupu: Ka taea e nga papakupu Zstandard kua whakangungu-a-mua te whakapai ake i te whakakopeketanga o nga tuhinga iti (i raro iho i te 4KB), koinei te awhe rahi o te tuhinga e tino nui ana te tika o te NCD
  • API Rererenga: Ka tautokohia e te kōwae te kōpeketanga āpitihanga, ka taea ngā raina paipa whakarōpū e tukatuka ana i ngā tuhinga me te kore e utaina te tinana katoa ki te mahara
  • Pumautanga wharepukapuka paerewa: Karekau he taupatupatu putanga, karekau he raruraru mekameka tuku — mai i te kawemai kōpeketanga zstd e mahi ana ki ia whakaurunga Python 3.14+

Maramatanga matua: Ka pai ake te whakarōpūtanga-a-kopeketanga ina hiahia koe i te rarangi turanga tere, kore-whakaaro e whakahaere ana i nga tuhinga reo-maori. Na te mea kei te mahi nga kaikopeke i runga i nga paita mata, kaua i nga tohu reo-motuhake, ka whakarōpūhia e ratou nga tuhinga Hainamana, Arapi, reo-whakahanumi ranei kia rite ki te reo Ingarihi — kaore he tauira reo e hiahiatia ana.

He aha te ahua o te Whakatinana Mahi?

Ko te whakarōpū NCD iti i roto i te Python 3.14 ka uru ki raro i te 30 rarangi. Ka whakawaehere koe i ia kuputuhi tohutoro (kotahi mo ia waahanga), katahi mo ia tuhinga hou, tatauhia te NCD ki ia tohutoro ka tautapa te waahanga me te iti rawa te tawhiti. Anei te tino arorau:

Tuatahi, kawemai i te kōwae me mai i te kōpeketanga kawemai zstd. Tautuhia he taumahi e whakaae ana ki nga aho paita e rua, ka kopeke takitahi, ka kopaki i te hono, ka whakahoki i te kaute NCD. Kātahi ka hanga he papakupu māhere tapanga kāwai hei tohu tauira tuhinga. Mo ia tuhinga e haere mai ana, whakahurihia nga waahanga, tatauhia te NCD, ka tohua te iti rawa.

💡 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 roto i nga tohu tohu ki te huingararaunga AG News (whaa-akomanga panui korero), ko tenei huarahi ma te whakamahi i te Zstandard i te taumata kōpeketanga 3 ka eke ki te 62-65% te tika - kaore he taahiraa whakangungu, kaore he tauira tango, me te tere whakarōpūtanga tata ki te 8,000 tuhinga mo ia hekona i runga i te matua PTM kotahi. Ma te piki ake o te taumata kōpeketanga ki te 10 ka pana te tika ki te tata ki te 68% i te utu mo te whakaiti i te whakaputanga ki te 2,500 tuhinga mo ia hekona. Ko enei tau karekau e taurite ki nga kaihurihuri kua tino paihia, engari ka whakarato i te raarangi kaha mo te tauira tauira, te tohu tohu tohu raraunga, me nga taiao kaore e taea te whakauru i nga whakawhirinakitanga ML.

Me pehea te Whakatauritenga a NCD ki te Whakarōpūtanga ML Tuku iho?

Ko te whakautu pono ko te NCD ehara i te whakakapi mo nga whakarōpū-whakawhitiwhiti i roto i nga punaha whakangao nui. Ko nga tauira penei i te BERT, i te GPT ranei nga whakarōpūtanga e tutuki ana i te 94%+ te tika i runga i nga tohu paerewa. Heoi, ko te NCD me te Zstandard kei te noho motuhake. He pai ake i roto i nga ahuatanga o te timatanga makariri he iti iho i te 50 nga tauira kua tapaina mo ia karaehe - he ahuatanga e uaua ana nga tauira pai. Kare he wa whakangungu, ka hapai i tetahi reo, whakawaehere ranei me te kore whakarereke, ka rere katoa ki runga PTM me te mahara tonu.

Mo nga pakihi e whakahaere ana i te maha o nga ihirangi taumai — tikiti tautoko, korero paapori paapori, arotake hua — ka taea e te karaehe Zstandard NCD te mahi hei pouara whakawhiti tuatahi e whakarōpū ana i nga tuhinga i roto i te waa tuuturu i mua i nga tauira utu nui ake te whakamahine i nga hua. Ko tenei pipeline e rua-waahanga ka tino whakaiti i nga utu whakatau i te wa e mau tonu ana te tika. Ko nga papaaho e tukatuka ana i nga ihirangi hanga-kaiwhakamahi i te tauine, penei i te OS pakihi 207-module a Mewayz e whakamahia ana e nga kaipakihi neke atu i te 138,000, ka whai hua mai i te whakarōpū mama ki te ara i nga karere, te ihirangi tohu, me te whakawhaiaro i nga wheako kaiwhakamahi kaore he hanganga taumaha.

He aha nga here me nga mahi pai?

Ko te whakarōpūtanga-a-kopeketanga e mohio ana he herenga me whai whakaaro koe. Ko nga tuhinga poto (i raro iho i te 100 paita) ka whakaputa i nga kaute NCD kore pono na te mea kaore i te nui nga raraunga a te kaitahuri hei hanga tauira whai kiko. He tairongo ano te tikanga ki te kowhiringa o nga tuhinga tohutoro - ko nga mangai kore i kowhiria ka tino whakaheke te tika. A, i te mea he ine tawhiti te NCD, ehara i te tauira tūponotanga, karekau e puta mai he tatau maiatanga.

Kia whai hua nui mai i tenei huarahi: whakamahia nga tuhinga tohutoro kia 500 paita neke atu mo ia waahanga, whakamatau me te whakakotahi i nga tauira maha mo ia karaehe (e 2-3 nga tuhinga tohu e honoa ana ka pai ake nga papakupu whakakope), whakanoatia te pouaka kuputuhi me te mokowāma i mua i te kōpeketanga, me te tohu tohu puta noa i te Zstandard kōpeketanga taumata 3, 6, me te tere tere-accura. Mo te whakarōpū kupu iti, whakangungua i mua i te papakupu Zstandard i runga i to roopu rohe — ka taea e tenei taahiraa kotahi te whakapai ake i te tika ma te 8-12 ōrau ira i runga i nga tuhinga poto.

Patai Auau

Ka whai hua te whakarōpūtanga-a-kopeketanga mo te tātari whakaaro?

Ka taea, engari me nga whakatupato. Ko te wetewete o te kare-a-roto me kite i nga rereketanga o te reo i roto i nga tuhinga e rite ana te hanganga. He pai ake te mahi a NCD mo te whakarōpūtanga kaupapa e whakamahi ana nga tuhinga o nga waahanga rereke i nga kupu motuhake. Mo te whakaaro, ka tau te tika ki te 55-60% — pai ake i te matapōkere, engari karekau kia rite ki te hanga. Ko te whakakotahi i nga ahuatanga NCD me te tauira whakahekenga arorau mama ka tino pai ake nga hua.

Ka taea e au te whakamahi i te kōwae compression.zstd ki nga putanga Python i mua i te 3.14?

Kao. He hou te kōwae compression.zstd ki Python 3.14. Mo nga putanga o mua, whakauruhia te kete python-zstandard mai i te PyPI, e whakarato ana i nga mahi rite compress() me decompress(). He ōrite tonu te arorau NCD — ko te tauākī kawemai anake ka huri. Kia whakapai ake koe ki te 3.14, ka taea e koe te whakaheke katoa i te whakawhirinakitanga tuatoru.

He pehea te mahi a Zstandard NCD ki te TF-IDF me te ahua o te cosine?

I runga i te whakarōpūtanga kaupapa-maha-akomanga me nga huingararaunga taurite, ko te TF-IDF me te ahua o te cosine ka eke ki te 75-82% te tika ka whakaritea ki te Zstandard NCD 62-68%. Heoi, me whai a TF-IDF he kaiwhakatikatika, he kupu kua tautuhia, me nga rarangi kupu-motu motuhake. Ko te Zstandard NCD kaore he mahi o mua, ka mahi puta noa i nga reo i waho o te pouaka, me te whakarōpū i nga tuhinga hou i te waa tonu ahakoa te rahi o nga kupu. Mo te tauira tauira tere, taiao reo maha ranei, ko te NCD te huarahi tere ake ki te punaha mahi.

Ahakoa kei te hanga koe i nga paipa ihirangi aunoa, te ararere i nga karere a nga kaihoko, te whakatauira ranei i te arorau whakarōpūtanga mo to pakihi mamati, na te tautoko Zstandard i hangaia e Python 3.14 ka taea te uru atu ki te NCD-a-kopeketanga. Mēnā kei te rapu koe i tētahi tūāpapa katoa-i-kotahi hei whakahaere i ō ihirangi pakihi, hua, akoranga, me te taunekeneke a te kiritaki, tīmata ki te hanga me Mewayz i tenei ra ka mahi i enei tikanga puta noa i to mahi katoa.

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