انتقل إلى المحتوى
use-cases / run-a-local-llm-serve-it-to-your-fleet / hero
PIPE · LOCAL LLM · FAN-OUT

شغّل نموذج LLM محليًا، وقدّمه لأسطولك بأكمله

تشغّل نموذج 70B على صندوق GPU واحد. خمسون حاوية تابعة عبر أسطولك تحتاج الإجابة نفسها على الاستعلام نفسه — تقيّم الكتالوج نفسه، تولّد التضمينات نفسها، تُقيّم التجربة نفسها. لا تدفع مقابل خمسين استدلالًا. شغّل النموذج مرّة واحدة، وابثّ الرموز.

اقرأ واجهة pipe
use-cases / run-a-local-llm-serve-it-to-your-fleet / mechanism

وحدة GPU واحدة، أنبوب واحد، خمسون مستهلكًا

الإجابة الساذجة هي خادم HTTP بطابور وحزم طلبات وتنازع أقفال. الإجابة الأرخص لهذا الشكل: كل استعلام يذهب إلى مسار أنبوب مع ?n=50. النموذج يعمل مرّة واحدة. خمسون حاوية مستهلكة تستدعي المسار نفسه عبر GET وتبثّ الرموز نفسها في الوقت نفسه، موزّعةً عبر الأنبوب. عامل بطيء يطبّق ضغطًا عكسيًا على اتصاله الخاص — البقية يبقون بسرعة الخط.

fleet-broadcast.sh
# 1× GPU box — run the model once and pipe its tokens upward.
llama.cpp -m llama3-70b.gguf -p "$PROMPT" --stream \
  | curl -T - https://pipe.hoody.com/api/v1/pipe/llm?n=50

# 50 consumer containers — same path, ?n=50, fanned out by the pipe.
for i in $(seq 1 50); do
  curl https://pipe.hoody.com/api/v1/pipe/llm?n=50 \
    | jq -c .delta \
    | ./score.py --worker $i &
done

# Sender blocks until 50 readers have connected, then bytes flow.
# Slow workers backpressure their own connection — others stay at line speed.

PUT يرسل البايتات صعودًا. GET يسحبها نزولًا. المعامل ?n=50 يحدّد عدد القرّاء المنتظَرين؛ الأنبوب يحتفظ بالاتصال حتى يتصل ذلك العدد، ثم يوزّع البثّ بالتزامن إلى الجميع. لا طابور، لا طبقة حزم، لا خادم استدلال خلف موازن أحمال.

استدلال واحد

النموذج يعمل مرّة واحدة بالضبط لكل استعلام

خمسون حاوية تابعة تريد الإجابة نفسها؛ أنت تولّدها على GPU مرّة واحدة. الأنبوب يتولّى التسليم. لا إطار حزم طلبات، ولا طبقة تخزين رموز، ولا تنسيق "رجاءً لا تشغّله مجدّدًا".

بثّ موزّع عبر الأنبوب

?n=50 يوزّع البايتات نفسها على خمسين قارئًا

الأنبوب يحجب حتى يتصل خمسون مستقبِلًا، ثم يبثّ بايتات المنتج إلى كلٍّ منهم بالتوازي. نسخ متطابقة، تسليم بسرعة الخط، صفر تخزين على الخادم. حتى 256 مستقبِلًا لكل مسار.

ضغط عكسي لكل مستقبِل

العمّال البطيئون يبطّئون أنفسهم فقط

إذا كانت إحدى الحاويات المستهلكة تجمع نفايات أو قرصها مشغول، يتأخّر اتصالها. الأنبوب يطبّق ضغطًا عكسيًا على ذلك المستقبِل — الـ49 الآخرون يستمرّون بالبثّ بأقصى سرعة. لا حجب رأس الصف، ولا ضبط لعمق الطابور.

FAN-OUT CAP256سقف المستقبِلين لكل مسار يفرضه الأنبوب — اضبط ?n لانتظار ذلك العدد قبل أن يبدأ النقل.
INFERENCES PER QUERY1النموذج يعمل مرّة لكل استعلام، لا مرّة لكل مستهلك. تكلفة الحوسبة منفصلة عن حجم الأسطول.
SDK FOOTPRINT0 kbالمنتج هو curl. المستهلكون هم curl. أيّ شيء يتحدث HTTP يستطيع الاشتراك — حاوية، وكيل، متصفّح، صدفة.
use-cases / run-a-local-llm-serve-it-to-your-fleet / economics

ما الذي تتوقّف عن دفعه

حين تريد خمسون حاوية الإجابة نفسها، البدائل تفرض رسومًا لكل استدعاء، أو لكل رمز، أو لكل خادم استدلال. الأنبوب يفرض رسوم نقل HTTP واحد. شغّل النموذج على صندوق تستأجره أصلًا.

BEFOREواجهة مستضافة · فوترة لكل رمز50× رموزBedrock أو OpenAI تفوتر خمسين إكمالًا متطابقًا حين تسأل خمسون حاوية السؤال نفسه. التوجيه نفسه، الإجابة نفسها، تُحسَب خمسين مرّة.
AFTERنموذج محلي · بثّ عبر الأنبوب1× رموزصندوق GPU الذي تستأجره أصلًا يولّد مرّة واحدة. الأنبوب يحمل البايتات إلى الخمسين جميعًا. الأسطول يتمدّد أفقيًا دون تمدّد فاتورة الاستدلال.

هذا ليس كل عبء عمل — إنه الشكل الذي تريد فيه N حاوية الإجابة نفسها. حين يكون هذا شكلك، الأنبوب أرخص بثّ موزّع ستوصّله. الأعباء بتوجيهات متباينة لا تزال تريد خادم استدلال حقيقيًا؛ هذا النمط يلمع حين يكون السؤال متطابقًا والأسطول واسعًا.

use-cases / run-a-local-llm-serve-it-to-your-fleet / punchline

وحدة GPU واحدة، أنبوب واحد، خمسون حاوية تتذوّق الرموز نفسها.

0101 · وحدة GPU واحدة تولّد الرموز
0202 · أنبوب واحد يحملها
0303 · خمسون حاوية تتذوّقها معًا
بلا خدمة بثّ موزّع للاستدلالالمسار هو البثّ
use-cases / run-a-local-llm-serve-it-to-your-fleet / replaces

ما يحلّ هذا محلّه

كل حزمة "امنح أسطولي وصولًا إلى نموذج" تلجأ إليها حين يحتاج استعلام واحد إلى تغذية مستهلكين كثر. كلٌّ منها يفرض رسومًا لكل استدعاء، أو يستضيف أوزانك، أو يطلب منك تشغيل موازن أحمال أمام vLLM. الأنبوب يبثّ مرّة واحدة.

  • AWS Lambda + Bedrockفوترة لكل رمز × حجم الأسطول، أوزان لا تملكها
  • Modal Labsمشغّلات GPU مستضافة، فوترة بالثانية لكل عامل
  • Replicateتسعير لكل استدعاء، رحلة شبكة ذهابًا وإيابًا لكل مستهلك
  • OpenAI API على نطاق واسعتوجيه متطابق يُحسَب مرّة لكل مستهلك
  • vLLM/TGI خلف موازن أحمالخادم، طابور، ضبط حزم، سطح عمليات لإبقائه حيًّا
  • بوابات نماذج مستضافة ذاتيًاتوجيه، مصادقة، حدود معدّل — كل ذلك يدويًا لبثّ موزّع واحد
use-cases / run-a-local-llm-serve-it-to-your-fleet / cta

كفّ عن دفع خمسين فاتورة استدلال لإجابة واحدة. شغّل النموذج حيث تستأجر السيليكون أصلًا. افتح أنبوبًا. دع الأسطول يقرأ.

اقرأ واجهة pipe
use-cases / run-a-local-llm-serve-it-to-your-fleet / related

اقرأ الآخرين