תרגום מכונה · המקור באנגלית
GLiNER: החלטות מקומיות ומיצוי ישות
Development Preview. המשקלים פורסמו ב Hugging Face; Swift מודול הוא בסקירה, עדיין לא ב speech-swift
המודול GLiNER פועל GLiNER2.5-Decide ב MLX Swift, תן לו טקסט ורשימה של תוויות מותרות כדי להשיג ציוני סיווג, או לבקש תעריפים של ישויות כגון אדם וזמן.
איך זה עובד
דורגה קורא את הטקסט וschema יחד.ראשי סיווג מסמנים את התוויות שלך. ראשי אנטות לזהות את פרקי המשפט המקורי.The Runtime אינו יוצר תגובה JSON על ידי טוקן.
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"]
)
משקל
3 MLX המרות של ה- pinned upstream Revision 7ee5da4c פורסמו ב Hugging Face.הזמן המעכב מוריד את הגירסה שנבחרה לשימוש ראשון ומחזר את המטמון המקומי לאחר מכן; אין Python מעורב.
| משתנה | Repository | משקל | רוסינג | הפקה | זיכרון שיא |
|---|---|---|---|---|---|
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, idle מכונה: בקשה מלאה מדיה כולל אסימוניזציה, וזיכרון תהליך שיא.כל שלוש גרסאות להחזיר את אותם תוויות, אורכו ו offsets כמו מודל PyTorch upstream על 24 מקרים התייחסות, עם ביטחון בתוך 0.006.
קו פיקוד
The The The speech CLI חושף את שתי המשימות speech gliner classify ו speech gliner extract.עבור תוויות כרשימה נפרדת וחזרה --description label=text במידת הצורך, התחייב את הטקסט לקרוא אותו מ stdin. --variant בוחרים int8 (הופנה מהדף) fp16 או או fp32ו --model-dir עומסים על חבילה מקומית במקום להוריד.טיעונים לא חוקיים נדחו לפני עומסי המודל. --jsonהפלט כולל את כל ההסתברות של התווית, או אורכו עם UTF-16 offsets, בתוספת עומס ותזמון הקצוץ.
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
כרטיס ה- מודל עבור סוכנים הוא קובץ Markdown המרשם את API, שדות פלט ותוצאות מאומתות.
הסכם על פקודה קטנה
שש עשרה דוגמאות של גילוח בכתב יד תואמים את הציפיות 12 8 דוגמאות למיצוי תואמות 7 המקרים. Swift נמל משכפל את מודל PyTorch Upstream 24 מקרים: זהות זיהוי אסימונים, תוויות וטווחים זהים, עם ציונים בתוך 0.001קבוצות קטנות אלה בודקות התנהגות ונאמנות; הן אינן מדד דיוק רחב.
סקופ ומגבלות
- סיווג יחיד-label וישות משתרעת; עד 512 אסימונים מקודדים לכל בקשה.
- מחסומים Span/count_lstm עם תשומת לב יחסית משותפת, ב FP32, FP16 או INT8. Boundary Models, גרפים יחסיים ומגבלות משותפות אינם חלק API הראשוני.
- Entity offsets להשתמש UTF-16, התאמת NSRange. דייטים וזמנים דורשים נורמליזציה נפרדת.
- ציונים אינם ערובה לכך שהחלטה נכונה.שום כלי אינו מבוצע על ידי המודול.
- גודל הורדה מודל, זיכרון תהליכים וטביעה פיזית מאוחדת הם מדידות שונות.
זיכרון וזיכרון
FP16 halves משקל אחסון 973 MB. INT8 לכמת את המזחלות והקטנות הטמונות כדי 8 פיסות בקבוצות 64עם ראשים, נורמליזציה והפעלה FP16עבור a 567 קובץ MB.The Runtime Keep INT8 מזחלות ארוזות ומקודמות רק את השורות המטביעות בקשה משתמשת.
התחזיות היחסיות של ה-coder תלויות רק על משקולות, כך שהן נצמדות פעם בעומס במקום על כל בקשה. GLiNER.load(from:evaluateLayers:) מודגש שכבות קודר אחד בכל פעם להקצאות נמוכות יותר.