
Hugging Face modelis var palaist svešu kodu — drošāk ir piesaistīt versiju

Hugging Face modeli drošāk lejupielādēt, atlasot safetensors svarus, piesaistot pārskatītu commit revīziju un pirms ielādes pārbaudot failu kontrolsummas. Ielādē atstāj trust_remote_code=False: Hugging Face drošības skaidrojums norāda, ka šī atļauja pēc noklusējuma ir izslēgta un piesaistīta revīzija palīdz saglabāt pārskatīto modeļa koda versiju.
Lejupielāde saglabā failus diskā; koda izpildes risks rodas, kad tos ielādē programma. Safetensors ierobežo risku pašā svaru formātā, savukārt trust_remote_code=False liedz Transformers ielādēt repozitorija autora pielāgoto modeļa kodu. Kontrolsumma atbild uz citu jautājumu: vai lokālā kopija sakrīt ar izvēlētās revīzijas failu. Šīs pārbaudes papildina cita citu, tāpēc ar vienu zaļu marķējumu Hub failu sarakstā nepietiek.
Izvēlies svaru formātu un pārskati repozitoriju
Atver modeļa repozitorija failu sarakstu un meklē model.safetensors vai, lielākam modelim, safetensors fragmentus un to indeksa failu. Ja līdzās ir pytorch_model.bin, tas parasti ir PyTorch pickle formāta alternatīvs svaru fails. Pickle deserializācija var izsaukt Python funkcijas, tāpēc šādu failu no nepārbaudīta repozitorija nevajag ielādēt tikai tāpēc, ka tas ir pieejams. Arī faila nosaukums pats par sevi nav pierādījums tā saturam vai autora uzticamībai.
Pārskati konkrētās revīzijas failus, modeļa aprakstu un licenci. Konfigurācijas fails config.json pasaka ielādes bibliotēkai, kādu arhitektūru veidot, bet pielāgota arhitektūra var norādīt uz autora Python moduļiem. Ja modelis darbojas tikai ar trust_remote_code=True, tā ielāde ir atsevišķs lēmums par šī koda izpildi. Tādā gadījumā vispirms jāizlasa tieši piesaistītās revīzijas kods un tā atkarības; vienkārša revīzijas piesaiste kodu nepadara drošu.
Ko rāda Hub skenera brīdinājumi
Hub failu drošības marķējumi ir noderīgi atlasei, jo pickle skenēšanas aprakstā ir izskaidrotas ClamAV un pickle importu pārbaudes. Pickle importu skeneris nolasa faila instrukcijas bez tā izpildes un izceļ aizdomīgas atsauces uz funkcijām vai moduļiem. ClamAV meklē ļaunprogrammatūras pazīmes, taču šī pārbaude viena pati neaptver pickle izpildes paņēmienus.
Brīdinājums pie pytorch_model.bin ir iemesls noskaidrot, kādi importi atklāti, un atturēties no faila ielādes, kamēr nav skaidrs risks. Marķējums “Safe” arī nav pilns modeļa audits: skeneris nevar pārbaudīt visu ārējo Python pakotņu drošumu vai garantēt, ka modelis piemērots paredzētajam lietojumam. Ja safetensors fails ir pieejams, lejupielādei atlasi to, nevis paļaujies uz pickle marķējumu. Drošības atzīme attiecas uz skenēto failu, nevis uz visu turpmāko programmas darbību.
Piesaisti commit un lejupielādē tikai vajadzīgos failus
Izmanto pilnu commit identifikatoru, nevis main vai pārvietojamu tagu: tas ļauj atkārtot lejupielādi no tās pašas repozitorija versijas. Oficiālā hf komandrindas pamācība apraksta atlasītu failu lejupielādi, --revision, --local-dir, --dry-run un hf cache verify. Zemāk ir piemērs Linux vai macOS čaulai ar openai-community/gpt2, kur izvēlētajā commit ir config.json un model.safetensors. Tas ir demonstrācijas piemērs; citam modelim failu nosaukumus un revīziju pārbaudi tā repozitorijā.
Izveido atsevišķu Python vidi ar python3 -m venv .venv un aktivizē to ar . .venv/bin/activate. Pēc tam instalē nepieciešamās pakotnes no uzticama avota: python -m pip install huggingface_hub transformers torch safetensors. Virtuālā vide atdala šīs pakotnes no citām Python vidēm, bet pati par sevi neierobežo procesa piekļuvi lietotāja failiem vai tīklam.
Pirms lejupielādes apskati plānu: hf download openai-community/gpt2 config.json model.safetensors --revision 11c5a3d5811f50298f278a704980280950aedb10 --local-dir ./modelis --dry-run. Pārliecinies, ka atlasē ir tikai iecerētie faili. Šī komanda neiekļauj repozitorijā esošo pytorch_model.bin, citus svaru formātus un modelim pievienotos papildu failus.
Saņem atlasītos failus, atkārtojot to pašu komandu bez --dry-run: hf download openai-community/gpt2 config.json model.safetensors --revision 11c5a3d5811f50298f278a704980280950aedb10 --local-dir ./modelis. Saglabā pilno commit identifikatoru projekta konfigurācijā. Ja mainās revīzija, arī failu saturs var mainīties, un jaunā versija ir jāizvērtē atsevišķi.
Pārbaudi kopiju un ielādē to lokāli
Salīdzini lejupielādētos failus ar izvēlēto Hub revīziju: hf cache verify openai-community/gpt2 --revision 11c5a3d5811f50298f278a704980280950aedb10 --local-dir ./modelis. Šī komanda pārbauda lokālo failu kontrolsummas pret Hub datiem. Tā kā piemērs apzināti lejupielādē tikai atlasītus failus, paziņojumi par trūkstošiem pārējiem repozitorija failiem ir sagaidāmi; kontrolsummas neatbilstība atlasītam failam nozīmē, ka šo kopiju nevajag ielādēt.
Vēlākai lokālai pārbaudei izveido kontrolsummas manifestu ar sha256sum ./modelis/model.safetensors > ./modelis.sha256 un nākamreiz izmanto sha256sum -c ./modelis.sha256. Manifestu glabā atsevišķi no modeļa direktorijas un nemaini to pēc faila nomaiņas, citādi salīdzinājums zaudēs jēgu. Šādi iegūta kontrolsumma parāda, vai lokālais fails mainījies kopš manifesta izveides; sākotnējo atbilstību Hub revīzijai nosaka iepriekšējā pārbaude.
Ielādē lokālo kopiju ar python -c 'from transformers import AutoModelForCausalLM; AutoModelForCausalLM.from_pretrained("./modelis", trust_remote_code=False, local_files_only=True, use_safetensors=True)'. Šajā piemērā GPT-2 arhitektūra ir atbalstīta bibliotēkā, un lejupielādētajā direktorijā ir tikai safetensors svari un konfigurācija. local_files_only=True neļauj ielādes solī meklēt trūkstošus modeļa failus Hub, bet use_safetensors=True padara svaru formāta izvēli skaidru arī tad, ja lokālajā direktorijā vēlāk parādās cits fails.
Ja citam modelim nepieciešami arī tokenizatora faili, atlasīto kopu papildini ar tieši tās pašas revīzijas failiem un pārbaudi tos kopā ar svariem. Ja ielāde prasa autora pielāgotu kodu, šo procesu apturi līdz koda pārskatīšanai; pārskatīšanai un iespējamai izpildei izmanto vidi bez piekļuves darba noslēpumiem. Piesaistīta revīzija un kontrolsumma nodrošina atkārtojamu failu izvēli, bet uzticēšanās modelim joprojām balstās uz konkrētā repozitorija satura izvērtējumu.
Lasiet arī:
Saistītie raksti


Podkāsta RSS pievienošana YouTube: vecās epizodes neizlabosies pašas

Azul MI palīgs meklē Java riskus — piekļuvei vajag jaunu līgumu

n8n vai Make: lētākais mainās, kad darbplūsma kļūst gara

Pipedrive vai HubSpot: bezmaksas CRM var kļūt dārgāks augot komandai

Riverside vai Descript: ieraksts un montāža izvēlas citu uzvarētāju
Abonējiet mūsu jaunumu vēstuli
Saņemiet jaunākās Web3, MI un kriptovalūtu ziņas tieši savā e-pastā.