Konekäännös · Englanninkielinen alkuperäinen

GLINER: paikalliset päätökset ja yksikköjen poimiminen

Kehittämisen esikatselu. Painot julkaistaan Hugging Face; Swift -moduuli on tarkastelun kohteena eikä vielä speech-swift

GLIENER-moduuli toimii GLiNER2.5-Decide MLX Swift. Antakaa teksti ja luettelo sallituista tarroista, jotta saadaan luokituspisteet, tai pyytäkää yhteisöltä esimerkiksi henkilö- ja aikajaksoja.

Miten se toimii?

DeBERTA-koodaaja lukee tekstin ja kaavan yhdessä. Luokituspäät pisteet tarroja. Entity heads tunnistaa spans alkuperäisen lauseen. Runtime ei tuota JSON-vastauksen symbolin token.

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"]
)

Painot

Kolme MLX -muunnoksia, jotka on tehty ylävirtarevisiosta 7ee5da4c, julkaistaan Hugging Face -muodossa. Runtime lataa valitun muunnelman ensimmäisen käytön yhteydessä ja käyttää paikallista välimuistia uudelleen jälkikäteen; ei Python -versiota.

VarianttiVersiovarasto PainotRuutiUutto Huippumuisti
int8 (oletusarvo)aufklarer/GLiNER2.5-Decide-340M-MLX-8bit567 Mt7,6 ms8,9 ms 0,85 GB
fp16aufklarer/GLiNER2.5-Decide-340M-MLX-fp16973 Mt8,8 ms10,0 ms1,58 GB
fp32aufklarer/GLiNER2.5-Decide-340M-MLX1,95 GB11,1 ms12,6 ms2,55 GB

Apple M5 Pro, joutokäyntikone: Mediaani täydellinen pyyntö mukaan lukien tokenointi, ja huippuprosessin muisti. Kaikki kolme versiota palauttaa samat tarrat, spans ja offsets kuin ylävirtaan PyTorch malli 24 vertailu tapauksissa, luottavaisesti 0.006.

Komentorivi

• speech CLI paljastaa molemmat tehtävät speech gliner classify sekä speech gliner extract. Pass etiketit pilkulla erotettu luettelo ja toista --description label=text Ota teksti lukeaksesi sen stdinistä. --variant poimii int8 (oletus), fp16 tai fp32, --model-dir lataa paikallisen nipun latauksen sijaan. Virheelliset argumentit hylätään ennen mallin kuormia. --json, lähtö sisältää kaikki tarra todennäköisyys, tai spans UTF-16 offsets, plus kuormitus ja inferenssi ajoitusta.

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

agenttien mallikortti on Markdown -tiedosto, jossa on tarkka API -malli, lähtökentät ja todennetut tulokset.

Tarkkuus pienessä komentosarjassa

Kuusitoista käsin kirjoitettua reititysesimerkkiä vastasi odotuksia 12-tapauksissa; kahdeksan uuttoesimerkkiä täsmäytettiin 7 -tapauksissa. Swift:n portti toistaa PyTorch-mallin yläjuoksulla 24 vertailutapauksissa: identtiset tunnisteet, tarrat ja spans, joissa on 0.001. Nämä pienet sarjat tarkistavat käyttäytymisen ja uskollisuuden; ne eivät ole laaja tarkkuusvertailu.

Soveltamisala ja rajoitukset

Tarkkuus ja muisti

FP16 puolittaa painovaraston 973 MB:hen. INT8 määrittää koodaajan matriiseja ja tokentteja 8:n bittiä 64-ryhmissä, joissa on päät, normalisointi ja aktivointi FP16, 567 MB-tiedostoon. Runtime pitää INT8 matriisit pakattuina ja koodit vain pyydyksissä.

Koodaimen suhteellinen sijainti riippuu vain painoista, joten ne lasketaan kerran kuormitettuna jokaisen pyynnön sijaan. Valinnainen GLiNER.load(from:evaluateLayers:) -tila materialisoi koodaajan kerrokset yksi kerrallaan pienentää huippujaotteluja.

Lähteet ja kohdentaminen