در مورد ساختار ورودی/خروجی این مدل ۳ پایه اصلی وجود داره:
Choice
انتخاب یک گزینه از مجموعهای که برنامه تعریف کرده
category = choice(
"What is this ticket about?",
{
"billing": "Payment or refund issue",
"technical": "Technical problem",
"other": "Other issue"
}
)
خروجی:
{
"choice": "billing",
"probabilities": {
"billing": 0.94,
"technical": 0.04,
"other": 0.02
}
}نکته مهمش اینه که برخلاف مدلهای LLM و احتمال Hallucination، اینجا مدل نمیتونه گزینه چهارمی از خودش تولید کنه
Score
برای یک مفهوم ordered از Score استفاده میشه
frustration = score(
"How frustrated is the customer?",
[
"Calm",
"Concerned",
"Angry",
"Extremely angry"
]
)
اینجا مسئله classification ساده نیست شما یک ordered semantic scale تعریف میکنین.
Noul
جالبترین پایه از نظر معماری این یکیه مثلاً:
urgent = noul(
"Does this message explicitly communicate urgency?"
)
خروجی این بین ۰ و ۱ خواهد بود و اپلیکیشن میتونه خودش threshold تعیین بکنه
حالا اگه میگی خب LLM هم میتونه با یه structured Json همینکارو انجام بده اشتباه میکنی چون jev اینارو به صورت موازی انجام میده و روش autoregressive نداره که توکن به توکن تولید کنه بره جلو و خروجی به صورت ساختار یافته از هسته مدل میاد بیرون و این خیلی مهمه
بنابراین برای کارهای کوچک و پرتکرار میتونه latency و هزینه بسیار پایینتری نسبت به استفاده از LLMهای بزرگ داشته باشه
@silicon_brain | از هوش مصنوعی عقب نمانید