Awtomatikong salin · Orihinal sa Ingles
GLiNER: lokal na mga pasiya at pag - aalis ng mga entity
Ang pagsulong ay patiunang nakikita. Ang mga timbang ay inilalathala sa Hugging Face; ang Swift module ay nasa review at wala pa sa isang speech-swift release.
Ang GLiNER module ay nagpapatakbo ng GLiNER2.5-Decide sa MLX Swift. Bigyan ito ng teksto at listahan ng mga pinapayagang tatak upang makakuha ng mga iskor sa klasipikasyon, o humiling ng mga entity spans tulad ng isang tao at panahon.
Kung paano ito gumagana
Isang DeBERTA archator ang magkasamang nagbabasa ng teksto at schema.Ang mga heads ng classification ay naka-sect ng iyong mga label. Ang mga entry heads ay nagpapakilala ng mga span ng orihinal na pangungusap.Ang runtime ay hindi lumilikha ng isang JSON na tugon na matnitud.
import GLiNER
let model = try await GLiNER.fromPretrained()
let choices = try model.classify(
"Remind me to call Dad at six PM.",
labels: ["create_reminder", "send_message", "other"]
)
let spans = try model.extractEntities(
"Remind me to call Dad at six PM.",
labels: ["person", "time"]
)
Timbang
Tatlong MLX na mga pagbabago sa pindutan na rebisyon sa itaas ng ilog 7ee5da4c ay inilalathala sa Hugging Face. Ang runtime ay nag-download ng napiling variant sa unang paggamit at muling ginagamit ang lokal na cache pagkatapos; walang Python ang nasasangkot.
| Kaurian | Pagpapawalang - bisa | Timbang | Pag - iyak | Pag - aalis | Pinakamataas na memorya |
|---|---|---|---|---|---|
int8 (default) | Aufklarer/GLiNER2.5-Decide-340M-MLX-8bit | 567 MB | 7.6 ms | 8.9 ms | 0.85 GB |
fp16 | Aufklarer/GLiNER2.5-Decide-340M-MLX-fp16 | 973 MB | 8.8 ms | 10.0 ms | 1.58 GB |
fp32 | Aufklarer/GLiNER2.5-Decide-340M-MLX | 1.95 GB | 11.1 ms | 12.6 ms | 2.55 GB |
Apple M5 Pro, banisadong makina: median full request kabilang ang tokenization, at peak process memory. Ang lahat ng tatlong variants ay nagbabalik ng parehong mga label, spans at offsets bilang ang subtrack PyTorch model sa 24 na mga reference cases, na may tiwala sa loob ng 0.006.
Utos
Ang speech Inilalantad ng CLI ang dalawang atas na ito bilang speech gliner classify at speech gliner extract. Pasay labels bilang isang comma-weasted list at inuulit --description label=text Okutin ang teksto para mabasa ito mula sa stdin. --variant piko int8 (Paninirahan), fp16 o fp32, at --model-dir sa halip na mag - download. --json, kabilang sa output ang bawat tatak na probabilidad, o mga span na may UTF-16 offsets, pati na ang karga at di-umano'y mga tiyempo.
swift build -c release --product speech --disable-sandbox
scripts/build_mlx_metallib.sh release
.build/release/speech gliner classify "Remind me to call Dad at six PM." \
--labels create_reminder,send_message,set_timer,other
.build/release/speech gliner extract "Remind me to call Dad at six PM." \
--labels person,time --json
Ang modelong kard para sa mga ahente ay isang Markdown file na nagtatala ng eksaktong API, mga output field at mga napatunayang resulta.
Makatuwiran sa isang maliit na utos
Ang labing - anim na sulat - kamay na mga halimbawa ay katugma ng mga inaasahan sa 12 kaso; walong halimbawa sa pagkuha ang katugma sa 7 kaso. Ang Swift port ay nagpaparami sa modelo sa itaas ng ilog PyTorch sa 24 na kasong reperensiya: mga magkatulad na patlang na ID, mga etiketa at mga span, na may mga iskor sa loob ng 0.001. Ang maliliit na set na ito ay sumusubaybay sa paggawi at katapatan; ang mga ito ay hindi isang malawak na wastong pamantayan.
Mga Amoy at mga limitasyon
- Single-label klasipikasyon at entity spans; hanggang 512 instructed tokens per request.
- Span/count_lstm checkpoints na may kabahaging relatibong atensiyon, sa FP32, FP16 o INT8. topundary models, ang mga connection graph at mga joint restraints ay hindi bahagi ng inisyal na API na ito.
- Ang mga entity offset ay gumagamit ng UTF-16, na nagtutugma ng NSRange. Ang mga petsa at panahon ay nangangailangan ng hiwalay na normalisasyon.
- Maraming tao ang hindi tumitiyak na tama ang isang pasiya, at walang kagamitan ang isinasagawa ng module.
- Ang modelong download ang sukat, process memory, at ang nagkakaisang-memoryang pisikal na footprint ay iba't ibang mga sukat.
Pag - alaala at memorya
FP16 Bawasan ang pag - iimbak ng timbang sa 973 MB. INT8 Ang mga quarter marice at maliliit na embeding ang ginagawa 8 mga grupo ng mga 64, na ang mga ulo, normalisasyon at mga pagbabagu - bago FP16, para sa a 567 MB file. Ang runtime ay nagpapanatili ng INT8 Ang mga matrisa ay nag - iimpake at nag - aalis lamang ng mga embelding kahilera ng isang kahilingan na ginagamit.
Ang mga relatibong-posisyong kalkulasyon ng regulator ay umaasa lamang sa mga pabigat, kaya't ito ay kompirmado nang minsan sa halip na sa bawat kahilingan. Ang opsyonal na GLiNER.load(from:evaluateLayers:) mode recombinations performer layers isa-isa upang pababain ang mga allocations.