ఒక మూడు-అంచెల ప్రాధాన్యత షెడ్యూలర్ (three-layer priority scheduler), ఆన్-డివైస్ లాంగ్వేజ్-మోడల్ లేటెన్సీని ఒక సెకను కంటే ఎక్కువగా ఉన్న దాని నుండి రెండు వంతుల సెకను కంటే తక్కువకు తగ్గిస్తుంది. దీనివల్ల ఫోన్ బ్యాక్‌గ్రౌండ్ పనులతో బిజీగా ఉన్నప్పటికీ చాట్ యాప్‌లు వేగంగా స్పందిస్తాయి. 3 బిలియన్ పారామీటర్ల మోడల్‌ను నడిపే Tensor G3 చిప్‌ కోసం రూపొందించబడిన ఇది, బ్యాక్‌గ్రౌండ్ పనులను ఆపకుండానే లేటెన్సీని 1,420 ms నుండి 161 ms కి తగ్గిస్తుంది.

ఆన్-డివైస్ LLMలు ఎందుకు ఇబ్బంది పడతాయి

మొబైల్ ప్రాసెసర్‌పై లార్జ్ లాంగ్వేజ్ మోడల్‌ను నడపడం అనేది వనరుల కొరతతో కూడుకున్న పని. Tensor G3లో, 3B మోడల్ ఇప్పటికే న్యూరల్-ప్రాసెసింగ్ యూనిట్ (NPU)లో సుమారు 85% వనరులను వినియోగిస్తుంది. వినియోగదారు చాట్ విండోను తెరిచిన సమయంలోనే ఆఫ్‌లైన్ ఇండెక్సర్ వంటి తక్కువ ప్రాధాన్యత కలిగిన పని నడుస్తున్నట్లయితే, ప్రతిస్పందన సమయం సుమారు 140 ms నుండి 1,400 ms కి పెరుగుతుంది, ఇది వినియోగదారులు వెంటనే గుర్తించగలిగే పది రెట్లు నెమ్మదించడం.

సమస్య కేవలం వేగం మాత్రమే కాదు. మొబైల్ పరికరాలు UI స్మూత్‌నెస్, బ్యాటరీ లైఫ్ మరియు కంప్యూట్ కోసం అభ్యర్థించే బహుళ యాప్‌లను సమన్వయం చేయాల్సి ఉంటుంది. పనులను వరుస క్రమంలో ప్రాసెస్ చేసే సాధారణ క్యూ (naïve queue), బ్యాక్‌గ్రౌండ్ పని కోసం UI థ్రెడ్‌ను వేచి ఉండేలా చేస్తుంది, దీనివల్ల సంభాషణా సహాయకుడు (conversational assistant) మందగించిన అనుభవాన్ని ఇస్తుంది.

మూడు-అంచెల షెడ్యూలర్ ఎలా పనిచేస్తుంది

కొత్త షెడ్యూలర్ ఇన్ఫరెన్స్ పైప్‌లైన్‌లో మూడు సమన్వయ విభాగాలను చేరుస్తుంది:

  1. Priority Queue – ఇది స్టాటిక్ ప్రాధాన్యత స్థాయి ఆధారంగా వచ్చే పనులను క్రమబద్ధీకరించే ఒక min-heap.
  2. Preemption Controller – అధిక ప్రాధాన్యత కలిగిన అభ్యర్థన వచ్చినప్పుడు, ఇది తక్కువ ప్రాధాన్యత కలిగిన పనులను పక్కన పెట్టకుండా (discard చేయకుండా) తాత్కాలికంగా ఆపుతుంది.
  3. Token Budget Governor – యాప్ యొక్క లైఫ్ సైకిల్ స్టేట్ ఆధారంగా ఒక పని ఎన్ని టోకెన్లను జనరేట్ చేయవచ్చో ఇది పరిమితి విధిస్తుంది.

ఇవి కలిసి, బ్యాక్‌గ్రౌండ్ పనులు వనరులు ఖాళీ అయినప్పుడు తిరిగి ప్రారంభించడానికి సిద్ధంగా ఉండేలా పార్క్ చేయబడతాయి, అదే సమయంలో ఫొర్‌గ్రౌండ్ చాట్ అభ్యర్థనను లైన్లో ముందుకి తీసుకువస్తాయి.

ప్రాధాన్యత స్థాయిలు మరియు ప్రీఎంప్షన్

ఏ పనులను మధ్యలో ఆపవచ్చో నాలుగు స్థాయిలు నిర్ణయిస్తాయి:

స్థాయి వివరణ
Foreground Chat కీలకమైన UI ఇంటరాక్షన్
Inline Suggestion ఆటోకంప్లీట్ తరహా సూచనలు
Background Summary క్రమబద్ధమైన కంటెంట్ సమ్మరైజేషన్
Offline Indexing బల్క్ డేటా ప్రాసెసింగ్

షెడ్యూలర్ తక్కువ ప్రాధాన్యత కలిగిన పనిని ఎప్పుడూ మధ్యలోనే ఆపేయదు (abort చేయదు). దానికి బదులుగా, అది మోడల్ యొక్క కీ-వాల్యూ (KV) క్యాష్—అంటే మధ్యంతర అటెన్షన్ ఫలితాలను కలిగి ఉండే నిర్మాణం—ను స్నాప్‌షాట్ చేసి, ఆ పనిని పార్క్ చేస్తుంది. అధిక ప్రాధాన్యత కలిగిన అభ్యర్థన పూర్తయినప్పుడు, కంట్రోలర్ ఆ స్నాప్‌షాట్‌ను పునరుద్ధరించి, బ్యాక్‌గ్రౌండ్ టాస్క్ ఎక్కడ ఆగిపోయిందో అక్కడి నుండి కొనసాగేలా చేస్తుంది. ఈ “pause-and-resume” విధానం, పనిని మొదటి నుండి ప్రారంభించాల్సి వస్తే జరిగే ఖరీదైన recomputationను నివారిస్తుంది.

పాక్షిక KV-cache ఎవిక్షన్ (eviction) వ్యర్థాలను మరింత తగ్గిస్తుంది. స్టాటిక్ సిస్టమ్ ప్రాంప్ట్ క్యాష్‌లో ఉంటుంది, కేవలం డైనమిక్ సంభాషణలు మాత్రమే ఎవిక్ట్ చేయబడతాయి. దీని ఫలితంగా, పాజ్ చేసిన తర్వాత మోడల్‌ను తిరిగి రీ-ప్రీఫిల్ (re-prefilling) చేసే ఖర్చులో 40%–60% తగ్గుతుంది.

టైమర్ల అవసరం లేకుండా టోకెన్ బడ్జెట్‌లను నిర్వహించడం

చాలా అమలులు (implementations) ఒక పని ఎప్పుడు CPU లేదా NPU సమయాన్ని వదులుకోవాలో ఊహించడానికి టైమర్లపై ఆధారపడతాయి. టైమర్లు ఖచ్చితంగా ఉండవు; అవి UIని ఇబ్బంది పెట్టవచ్చు లేదా చిప్‌ను తక్కువగా ఉపయోగించుకోవచ్చు. ఈ షెడ్యూలర్ టైమర్ల స్థానంలో Android యొక్క ProcessLifecycleOwnerను ఉపయోగిస్తుంది, ఇది యాప్ ఫొర్‌గ్రౌండ్‌లో ఉందా లేదా బ్యాక్‌గ్రౌండ్‌లో ఉందా అని నమ్మదగిన విధంగా తెలిపే లైఫ్ సైకిల్ ఈవెంట్‌లను విడుదల చేస్తుంది.

  • ON_RESUME – యాప్ పూర్తి కంప్యూట్ బడ్జెట్‌ను తిరిగి పొందుతుంది, దీనివల్ల పెండింగ్‌లో ఉన్న ఫొర్‌గ్రౌండ్ పనులు ఎటువంటి ఆటంకం లేకుండా నడుస్తాయి.
  • ON_STOP – యాప్ బ్యాక్‌గ్రౌండ్ పనులను వాటి సాధారణ టోకెన్ బడ్జెట్‌లో సుమారు 25% కి తగ్గిస్తుంది, తద్వారా ఏదైనా అకస్మాత్తుగా వచ్చే UI అభ్యర్థన కోసం హెడ్‌రూమ్‌ను కాపాడుతుంది.

వనరుల కేటాయింపును లైఫ్ సైకిల్ ఈవెంట్‌లతో అనుసంధానించడం ద్వారా, సిస్టమ్ యాదృచ్ఛిక సమయాల (arbitrary time slices) కంటే నిజమైన వినియోగదారు ప్రవర్తనకు అనుగుణంగా స్పందిస్తుంది.

పనితీరు లాభాలు మరియు బేరసారాలు

సాధారణ first-come-first-served క్యూలో, బ్యాక్‌గ్రౌండ్ టాస్క్ ఫొర్‌గ్రౌండ్ చాట్ లేటెన్సీని సుమారు 1,420 ms కి పెంచుతుంది. ప్రాధాన్యత షెడ్యూలర్ యాక్టివ్‌గా ఉన్నప్పుడు, అదే చాట్ అభ్యర్థన సుమారు 161 ms లో పూర్తవుతుంది, ఇది పది రెట్లు మెరుగుదల మరియు ఫ్లూయిడ్ యూజర్ ఎక్స్‌పీరియన్స్‌ను పునరుద్ధరిస్తుంది.

ఆగిపోయిన పనిని తిరిగి ప్రారంభించడం వల్ల దాని మొత్తం ఎగ్జిక్యూషన్ టైమ్‌లో సుమారు 22% పెరుగుదల ఉంటుంది. బ్యాక్‌గ్రౌండ్ పని ముఖ్యమైనది కానందున, ముఖ్యంగా UI వేగంగా ఉన్నప్పుడు, ఈ బేరసారాలు (trade-offs) ఆమోదయోగ్యంగానే ఉంటాయి.