واقعاً لذت بردم از نحوه نوشتن این مقاله. نویسنده یه موضوع نسبتاً پیچیده رو با انیمیشن و visualization های تعاملی طوری توضیح داده که قدم به قدم باهاش جلو میری. از اون مقالههاییه که آدم دلش میخواد کاش همه مطالب فنی اینجوری نوشته میشدن.
موضوعش prompt caching توی LLM هاست. اگه با API های Claude یا OpenAI کار کرده باشید، دیدید که cached tokens حدود ۱۰ برابر ارزونترن. ولی سوال اینه: دقیقاً چی داره cache میشه؟ جواب این سوال کمک میکنه بهتر بفهمیم LLM ها از درون چطور کار میکنن.
خلاصهاش اینه که توی مکانیزم Attention، هر token باید با همه tokenهای قبلی مقایسه بشه تا مدل بفهمه به کدومها توجه کنه. این مقایسه با ماتریسهای Q و K انجام میشه و نتیجه نهایی با V ترکیب میشه. نکته کلیدی اینه که K و V مربوط به tokenهای قبلی هیچوقت عوض نمیشن.
پروایدرها (مثل OpenAI و Anthropic) این K و V رو برای ۵ تا ۱۰ دقیقه نگه میدارن. اگه request بعدی با همون prefix شروع بشه، دیگه لازم نیست از اول محاسبه بشه.
نتیجهش هم میشه تا ۱۰ برابر کاهش هزینه و تا ۸۵ درصد کاهش latency.
یه نکته جالب هم داره: OpenAI اتوماتیک cache میکنه با حدود ۵۰ درصد hit rate، ولی Anthropic کنترل رو دست شما میده و ۱۰۰ درصد hit میخوره. برای سیستمهایی که latency قابل پیشبینی میخوان، این تفاوت مهمه.
اینم لینک مقاله
https://ngrok.com/blog/prompt-caching
📱 @gocasts
Ai for Software
📱 @aicasts_ir
Post #18
1.13K

- ❤ 6
- 👍 5