قل انك تريد تشغيل نموذج لغة كبير مثل Llama2-70B. نموذج ضخم مثل هذا يتطلب أكثر من 140 جيجابايت من الذاكرة، مما يعني أنه لا يمكنك تشغيل النموذج الخام على جهازك المنزلي. ما هي خياراتك؟ قد تنتقل إلى مزود خدمة سحابية، لكن قد لا تكون متحمسًا جدًا للثقة في شركة مركزية واحدة للتعامل مع هذا العبء بالنسبة لك وجمع جميع بيانات الاستخدام الخاصة بك. ثم ما تحتاجه هو استنتاج لامركزي، الذي يتيح لك تشغيل نماذج ML دون الاعتماد على أي مزود فردي.
في شبكة لامركزية، ليس كافيًا فقط تشغيل نموذج والثقة في النتيجة. لنفترض أنني أطلب من الشبكة تحليل معضلة حوكمة باستخدام Llama2-70B. كيف أعرف أنها لا تستخدم في الواقع Llama2-13B، مما يقدم لي تحليلًا أسوأ، وتأخذ الفارق؟
في العالم المركزي، قد تثق في أن الشركات مثل OpenAI تقوم بذلك بصدق لأن سمعتها مهددة (وإلى حد ما، جودة LLM واضحة بذاتها). ولكن في العالم اللامركزي، لا يُفترض الصدق - بل يُتحقق.
هنا حيث يأتي الاستدلال القابل للتحقق إلى اللعب. بالإضافة إلى تقديم رد على الاستعلام، يمكنك أيضًا إثبات أنه تم تشغيله بشكل صحيح على النموذج الذي طلبته. ولكن كيف؟
النهج الساذج سيكون تشغيل النموذج كعقد ذكي على السلسلة. سيضمن هذا بالتأكيد التحقق من النتيجة، ولكن هذا أمر غير عملي للغاية. يمثل GPT-3 الكلمات ببعد تضميني يبلغ 12،288. إذا قمت بعملية ضرب مصفوفة واحدة بهذا الحجم على السلسلة، فسيكلف حوالي 10 مليارات دولار بأسعار الغاز الحالية — ستملأ العملية كل كتلة لمدة شهر تقريبًا.
إذا، لا. سنحتاج إلى نهج مختلف.
بعد ملاحظة المناظر الطبيعية، يبدو لي أن هناك ثلاث نهج رئيسية قد ظهرت للتعامل مع الاستدلال القابل للتحقق: دلائل على عدم المعرفة، دلائل متفائلة على الاحتيال، والاقتصاديات العملات الرقمية. لكل منها نكهته الخاصة من الأمان والآثار التكلفة.
تخيل أن تتمكن من إثبات أنك قمت بتشغيل نموذج ضخم، ولكن الدليل ثابت الحجم بشكل فعال بغض النظر عن حجم النموذج. هذا ما يعد به ZK ML، من خلال سحر ZK-SNARKs.
على الرغم من أنه يبدو أنيقًا في المبدأ، إلا أن تجميع شبكة عصبية عميقة في دوائر معرفة صفرية يمكن إثباتها بعد ذلك صعب للغاية. كما أنه مكلف للغاية - على الأقل، من المحتمل أن تنظر إلى تكلفة ضخمة@ModulusLabs/الفصل-5-تكلفة-الذكاء-da26dbf93307">1000x التكلفة للاستنتاج و 1000x التأخير (الوقت اللازم لإنشاء الدليل)، دون الحديث عن تجميع النموذج نفسه إلى دائرة قبل حدوث أي من هذا يمكن أن يحدث. في نهاية المطاف، يجب أن تتم تكلفة ذلك للمستخدم، لذا سيكون هذا مكلفًا للغاية بالنسبة للمستخدمين النهائيين.
من ناحية أخرى، هذه هي الطريقة الوحيدة التي تضمن بشكل تشفيري الصحة. مع ZK، لا يمكن لمزود النموذج الغش مهما حاول. ولكن يفعل ذلك بتكاليف ضخمة، مما يجعل هذا غير عملي للنماذج الكبيرة في المستقبل المنظور.
أمثلة: EZKL, Modulus Labs, جيزة
المقاربة المتفائلة هي الثقة، ولكن التحقق. نحن نفترض أن الاستنتاج صحيح ما لم يثبت العكس. إذا حاول جهاز العقد الغش، يمكن لـ "المراقبين" في الشبكة أن يتهموا الغشاش ويتحدونه باستخدام دليل الاحتيال. يجب على هؤلاء المراقبين مراقبة السلسلة في جميع الأوقات وإعادة تشغيل الاستنتاجات على نماذجهم الخاصة لضمان صحة النتائج.
هذه الأدلة على الاحتيال نمط تروبيتألعاب تفاعلية تحدي واستجابة، حيث تقوم بتقسيم سلسلة تنفيذ النموذج مرارًا وتكرارًا على السلسلة حتى تجد الخطأ.
إذا حدثت هذه الحالة في الواقع، فإنها تكلفة باهظة للغاية، نظرًا لأن هذه البرامج ضخمة ولديها حالات داخلية ضخمة - يكلف استنتاج واحد من GPT-3 حوالي1 بيتافلوب(عمليات النقطة العائمة 10¹⁵). ولكن نظرية الألعاب تقترح أن هذا يجب أن يحدث نادرًا (إثباتات الاحتيال أيضًا صعبة للغاية لبرمجتها بشكل صحيح، نظرًا لأن الكود نادرًا ما يتم تنفيذه في الإنتاج).
الجانب الإيجابي هو أن ML متفائل وآمن طالما أن هناك مراقب صادق واحد ينتبه. التكلفة أرخص من ZK ML، ولكن تذكر أن كل مراقب في الشبكة يقوم بإعادة تشغيل كل استعلام بنفسه. في التوازن، يعني ذلك أنه إذا كان هناك 10 مراقبين، فإن تكلفة الأمان يجب أن تمر على المستخدم، لذا سيتعين عليهم دفع أكثر من 10 مرات تكلفة الاستنتاج (أو كم عدد المراقبين).
العيب، كما هو الحال عمومًا مع التجميعات المتفائلة، هو أنه عليك الانتظار حتى ينتهي فترة التحدي قبل أن تتأكد من تحقق الاستجابة. وفي اعتمادك على كيفية تعيين معلمات تلك الشبكة، قد تكون في انتظار دقائق بدلاً من أيام.
أمثلة: Ora, Gensyn(على الرغم من أنه غير محدد حاليا)
هنا نتخلص من جميع التقنيات الفاخرة ونقوم بالشيء البسيط: التصويت بوزن الحصة. يقرر المستخدم كم عدد العقد التي يجب أن تشغل استعلامهم، ثم يكشف كل منهم عن ردودهم، وإذا كان هناك تناقض بين الردود، فإن الغريب يتم تقليصه. الأمور المعتادة للمصدر — إنها نهج أكثر بساطة يتيح للمستخدمين تحديد مستوى الأمان المطلوب لديهم، متوازنًا بين التكلفة والثقة. إذا كان Chainlink يقوم بعمل ML، فهذا هو كيف سيفعلونه.
سرعة الاستجابة هنا سريعة — كل ما تحتاجه هوcommit-revealمن كل عقد. إذا تم كتابة هذا على سلسلة كتل، فإن هذا يمكن أن يحدث من الناحيتين تقنيًا في كتلتين.
الأمان هو الأضعف. يمكن أن تختار غالبية العُقد بشكل عقلاني التواطؤ إذا كانوا ذكيين بما فيه الكفاية. كمستخدم، عليك أن تفكر في مقدار المخاطر التي تتحملها هذه العُقد وكم سيكلفهم الغش. وعلى هذا النحو، باستخدام شيء مثل Eigenlayer restaking والأمان المعزول، يمكن للشبكة أن توفر بشكل فعال التأمين في حالة فشل الأمان.
ولكن الجزء الجميل من هذا النظام هو أن المستخدم يمكنه تحديد مقدار الأمان الذي يريده. يمكنهم اختيار وجود 3 عقدة أو 5 عقد في مجموعتهم، أو كل عقدة في الشبكة — أو، إذا أرادوا القيام بأشياء مجنونة، يمكنهم حتى اختيار n=1. وظيفة التكلفة هنا بسيطة: يدفع المستخدم مقابل عدد العقد التي يريدها في مجموعته. إذا اخترت 3، فستدفع تكلفة التحليل مضروبة في 3.
السؤال الصعب هنا: هل يمكنك جعل n=1 آمنًا؟ في تنفيذ ساذج، يجب على العقدة الوحيدة الغش في كل مرة إذا لم يكن هناك شخص يُفحص. ولكني أشك في أنه إذا قمت بتشفير الاستفسارات وقمت بالدفع من خلال النوايا، فقد تكون قادرًا على تحجيم العقدة بحيث يظنون أنهم في الواقع الوحيدون الذين يستجيبون لهذه المهمة. في هذه الحالة، قد تكون قادرًا على فرض تكلفة أقل من تكلفة الاستنتاج بمقدار 2x على المستخدم العادي.
في النهاية، النهج العملياتي العملياتي هو الأبسط والأسهل وربما الأرخص، ولكنه الأقل إثارة وفي المبدأ الأقل أمانًا. ولكن كالعادة، الشيطان يكمن في التفاصيل.
Examples: طقوس(على الرغم من أنها حاليا غير محددة)شبكة Atoma
قد تتساءل لماذا ليس لدينا كل هذا بالفعل؟ على كل حال، في الأساس، نماذج التعلم الآلي هي مجرد برامج كمبيوتر كبيرة حقًا. إثبات تنفيذ البرامج بشكل صحيح كان دائمًا جوهر تكنولوجيا السلاسل الكتلية.
هذا هو السبب في أن هذه الطرق الثلاثة للتحقق تعكس الطرق التي تؤمن بها سلاسل الكتل مساحتها - يستخدم ZK rollups دلائل ZK، ويستخدم optimistic rollups دلائل الغش، وتستخدم معظم سلاسل L1 cryptoeconomics. ليس من المستغرب أن وصلنا إلى حلول تقريبًا نفسها. فما الذي يجعل هذا صعبًا عند تطبيقه على ML؟
تتميز ML لأن عمليات ML عادة ما تُمثل على أنها رسوم بيانية كثيفة مصممة لتشغيلها بكفاءة على وحدات GPU. لا تم تصميمها لتكون مثبتة. لذا، إذا كنت ترغب في إثبات عمليات ML في بيئة ZK أو تفاؤلية، يجب إعادة ترجمتها في تنسيق يجعل ذلك ممكنًا - وهو أمر معقد للغاية ومكلف.
الصعوبة الأساسية الثانية في ML هي عدم التحديد. يفترض التحقق من البرنامج أن مخرجات البرامج تكون محددة. ولكن إذا قمت بتشغيل نفس النموذج على هندسة GPU مختلفة أو إصدارات CUDA مختلفة، ستحصل على مخرجات مختلفة. حتى إذا كنت مضطرًا لإجبار كل عقدة على استخدام نفس الهندسة، ما زلت تواجه مشكلة العشوائية المستخدمة في الخوارزميات (الضوضاء في نماذج الانتشار، أو عينات الرمز في LLMs). يمكنك تصحيح تلك العشوائية عن طريق التحكم فيها RNGالبذور. ولكن حتى مع كل ذلك، ما زلت تواجه المشكلة النهائية المخيفة: عدم التحديد الذي يترتب على عمليات نقطة الفاصلة العائمة.
تُنفذ جميع العمليات تقريبًا في وحدات معالجة الرسوميات على أرقام عشرية عائمة. الأرقام العشرية العائمة حساسة للغاية لأنهاغير تجميعي — أي أنه ليس صحيحًا أن (a + b) + c دائمًا نفسها مثل a + (b + c) للنقاط العائمة. لأن وحدات المعالجة الرسومية متوازية بشكل كبير، يمكن أن تكون ترتيبات الجمع أو الضرب مختلفة في كل تنفيذ، مما قد يتسبب في اختلافات صغيرة في الإخراج. من غير المرجح أن يؤثر هذا على إخراج نموذج LLM نظرًا لطبيعة الكلمات المتقطعة، ولكن بالنسبة لنموذج الصورة، قد ينتج ذلك عن قيم بكسل مختلفة بشكل طفيف، مما يؤدي إلى عدم تطابق الصورتين تمامًا.
هذا يعني أنك تحتاج إما إلى تجنب استخدام النقاط العائمة، مما يعني ضربة هائلة للأداء، أو تحتاج إلى السماح ببعض التساهل في مقارنة النواتج. على أي حال، التفاصيل معقدة، ولا يمكنك تجريدها تمامًا. (لهذا السبب، يتبين أن EVM لا يدعمأرقام عشرية، على الرغم من أن بعض شبكات البلوكشين مثل NEAR do.)
باختصار، الشبكات اللامركزية للاستنتاج صعبة لأن جميع التفاصيل تهم، والواقع لديه كمية مدهشة من التفاصيل.
الآن البلوكشين وتعلم الآلة بوضوح لديهم الكثير ليقولوه لبعضهم البعض. الأول تكنولوجيا تخلق الثقة، والآخر تكنولوجيا بأمس الحاجة إليها. بينما كل نهج للاستدلال اللامركزي له تنازلاته الخاصة، أنا مهتم جدًا بما يفعله رواد الأعمال باستخدام هذه الأدوات لبناء أفضل شبكة متاحة.
لكنني لم أكتب هذه القطعة لتكون الكلمة الأخيرة - أفكر في هذه الأفكار كثيرًا في الوقت الحقيقي وأجري العديد من النقاشات النشطة مع الناس. لقد وجدت دائمًا أن الكتابة هي أفضل طريقة لاختبار أفكاري. إذا كنت تبني شيئًا في هذا المجال، تواصل معي! سأكون سعيدًا دائمًا بمعرفة ما تعمل عليه - وإذا كنت تستطيع أن تثبت لي خطأي، فذلك أفضل بكثير.
قل انك تريد تشغيل نموذج لغة كبير مثل Llama2-70B. نموذج ضخم مثل هذا يتطلب أكثر من 140 جيجابايت من الذاكرة، مما يعني أنه لا يمكنك تشغيل النموذج الخام على جهازك المنزلي. ما هي خياراتك؟ قد تنتقل إلى مزود خدمة سحابية، لكن قد لا تكون متحمسًا جدًا للثقة في شركة مركزية واحدة للتعامل مع هذا العبء بالنسبة لك وجمع جميع بيانات الاستخدام الخاصة بك. ثم ما تحتاجه هو استنتاج لامركزي، الذي يتيح لك تشغيل نماذج ML دون الاعتماد على أي مزود فردي.
في شبكة لامركزية، ليس كافيًا فقط تشغيل نموذج والثقة في النتيجة. لنفترض أنني أطلب من الشبكة تحليل معضلة حوكمة باستخدام Llama2-70B. كيف أعرف أنها لا تستخدم في الواقع Llama2-13B، مما يقدم لي تحليلًا أسوأ، وتأخذ الفارق؟
في العالم المركزي، قد تثق في أن الشركات مثل OpenAI تقوم بذلك بصدق لأن سمعتها مهددة (وإلى حد ما، جودة LLM واضحة بذاتها). ولكن في العالم اللامركزي، لا يُفترض الصدق - بل يُتحقق.
هنا حيث يأتي الاستدلال القابل للتحقق إلى اللعب. بالإضافة إلى تقديم رد على الاستعلام، يمكنك أيضًا إثبات أنه تم تشغيله بشكل صحيح على النموذج الذي طلبته. ولكن كيف؟
النهج الساذج سيكون تشغيل النموذج كعقد ذكي على السلسلة. سيضمن هذا بالتأكيد التحقق من النتيجة، ولكن هذا أمر غير عملي للغاية. يمثل GPT-3 الكلمات ببعد تضميني يبلغ 12،288. إذا قمت بعملية ضرب مصفوفة واحدة بهذا الحجم على السلسلة، فسيكلف حوالي 10 مليارات دولار بأسعار الغاز الحالية — ستملأ العملية كل كتلة لمدة شهر تقريبًا.
إذا، لا. سنحتاج إلى نهج مختلف.
بعد ملاحظة المناظر الطبيعية، يبدو لي أن هناك ثلاث نهج رئيسية قد ظهرت للتعامل مع الاستدلال القابل للتحقق: دلائل على عدم المعرفة، دلائل متفائلة على الاحتيال، والاقتصاديات العملات الرقمية. لكل منها نكهته الخاصة من الأمان والآثار التكلفة.
تخيل أن تتمكن من إثبات أنك قمت بتشغيل نموذج ضخم، ولكن الدليل ثابت الحجم بشكل فعال بغض النظر عن حجم النموذج. هذا ما يعد به ZK ML، من خلال سحر ZK-SNARKs.
على الرغم من أنه يبدو أنيقًا في المبدأ، إلا أن تجميع شبكة عصبية عميقة في دوائر معرفة صفرية يمكن إثباتها بعد ذلك صعب للغاية. كما أنه مكلف للغاية - على الأقل، من المحتمل أن تنظر إلى تكلفة ضخمة@ModulusLabs/الفصل-5-تكلفة-الذكاء-da26dbf93307">1000x التكلفة للاستنتاج و 1000x التأخير (الوقت اللازم لإنشاء الدليل)، دون الحديث عن تجميع النموذج نفسه إلى دائرة قبل حدوث أي من هذا يمكن أن يحدث. في نهاية المطاف، يجب أن تتم تكلفة ذلك للمستخدم، لذا سيكون هذا مكلفًا للغاية بالنسبة للمستخدمين النهائيين.
من ناحية أخرى، هذه هي الطريقة الوحيدة التي تضمن بشكل تشفيري الصحة. مع ZK، لا يمكن لمزود النموذج الغش مهما حاول. ولكن يفعل ذلك بتكاليف ضخمة، مما يجعل هذا غير عملي للنماذج الكبيرة في المستقبل المنظور.
أمثلة: EZKL, Modulus Labs, جيزة
المقاربة المتفائلة هي الثقة، ولكن التحقق. نحن نفترض أن الاستنتاج صحيح ما لم يثبت العكس. إذا حاول جهاز العقد الغش، يمكن لـ "المراقبين" في الشبكة أن يتهموا الغشاش ويتحدونه باستخدام دليل الاحتيال. يجب على هؤلاء المراقبين مراقبة السلسلة في جميع الأوقات وإعادة تشغيل الاستنتاجات على نماذجهم الخاصة لضمان صحة النتائج.
هذه الأدلة على الاحتيال نمط تروبيتألعاب تفاعلية تحدي واستجابة، حيث تقوم بتقسيم سلسلة تنفيذ النموذج مرارًا وتكرارًا على السلسلة حتى تجد الخطأ.
إذا حدثت هذه الحالة في الواقع، فإنها تكلفة باهظة للغاية، نظرًا لأن هذه البرامج ضخمة ولديها حالات داخلية ضخمة - يكلف استنتاج واحد من GPT-3 حوالي1 بيتافلوب(عمليات النقطة العائمة 10¹⁵). ولكن نظرية الألعاب تقترح أن هذا يجب أن يحدث نادرًا (إثباتات الاحتيال أيضًا صعبة للغاية لبرمجتها بشكل صحيح، نظرًا لأن الكود نادرًا ما يتم تنفيذه في الإنتاج).
الجانب الإيجابي هو أن ML متفائل وآمن طالما أن هناك مراقب صادق واحد ينتبه. التكلفة أرخص من ZK ML، ولكن تذكر أن كل مراقب في الشبكة يقوم بإعادة تشغيل كل استعلام بنفسه. في التوازن، يعني ذلك أنه إذا كان هناك 10 مراقبين، فإن تكلفة الأمان يجب أن تمر على المستخدم، لذا سيتعين عليهم دفع أكثر من 10 مرات تكلفة الاستنتاج (أو كم عدد المراقبين).
العيب، كما هو الحال عمومًا مع التجميعات المتفائلة، هو أنه عليك الانتظار حتى ينتهي فترة التحدي قبل أن تتأكد من تحقق الاستجابة. وفي اعتمادك على كيفية تعيين معلمات تلك الشبكة، قد تكون في انتظار دقائق بدلاً من أيام.
أمثلة: Ora, Gensyn(على الرغم من أنه غير محدد حاليا)
هنا نتخلص من جميع التقنيات الفاخرة ونقوم بالشيء البسيط: التصويت بوزن الحصة. يقرر المستخدم كم عدد العقد التي يجب أن تشغل استعلامهم، ثم يكشف كل منهم عن ردودهم، وإذا كان هناك تناقض بين الردود، فإن الغريب يتم تقليصه. الأمور المعتادة للمصدر — إنها نهج أكثر بساطة يتيح للمستخدمين تحديد مستوى الأمان المطلوب لديهم، متوازنًا بين التكلفة والثقة. إذا كان Chainlink يقوم بعمل ML، فهذا هو كيف سيفعلونه.
سرعة الاستجابة هنا سريعة — كل ما تحتاجه هوcommit-revealمن كل عقد. إذا تم كتابة هذا على سلسلة كتل، فإن هذا يمكن أن يحدث من الناحيتين تقنيًا في كتلتين.
الأمان هو الأضعف. يمكن أن تختار غالبية العُقد بشكل عقلاني التواطؤ إذا كانوا ذكيين بما فيه الكفاية. كمستخدم، عليك أن تفكر في مقدار المخاطر التي تتحملها هذه العُقد وكم سيكلفهم الغش. وعلى هذا النحو، باستخدام شيء مثل Eigenlayer restaking والأمان المعزول، يمكن للشبكة أن توفر بشكل فعال التأمين في حالة فشل الأمان.
ولكن الجزء الجميل من هذا النظام هو أن المستخدم يمكنه تحديد مقدار الأمان الذي يريده. يمكنهم اختيار وجود 3 عقدة أو 5 عقد في مجموعتهم، أو كل عقدة في الشبكة — أو، إذا أرادوا القيام بأشياء مجنونة، يمكنهم حتى اختيار n=1. وظيفة التكلفة هنا بسيطة: يدفع المستخدم مقابل عدد العقد التي يريدها في مجموعته. إذا اخترت 3، فستدفع تكلفة التحليل مضروبة في 3.
السؤال الصعب هنا: هل يمكنك جعل n=1 آمنًا؟ في تنفيذ ساذج، يجب على العقدة الوحيدة الغش في كل مرة إذا لم يكن هناك شخص يُفحص. ولكني أشك في أنه إذا قمت بتشفير الاستفسارات وقمت بالدفع من خلال النوايا، فقد تكون قادرًا على تحجيم العقدة بحيث يظنون أنهم في الواقع الوحيدون الذين يستجيبون لهذه المهمة. في هذه الحالة، قد تكون قادرًا على فرض تكلفة أقل من تكلفة الاستنتاج بمقدار 2x على المستخدم العادي.
في النهاية، النهج العملياتي العملياتي هو الأبسط والأسهل وربما الأرخص، ولكنه الأقل إثارة وفي المبدأ الأقل أمانًا. ولكن كالعادة، الشيطان يكمن في التفاصيل.
Examples: طقوس(على الرغم من أنها حاليا غير محددة)شبكة Atoma
قد تتساءل لماذا ليس لدينا كل هذا بالفعل؟ على كل حال، في الأساس، نماذج التعلم الآلي هي مجرد برامج كمبيوتر كبيرة حقًا. إثبات تنفيذ البرامج بشكل صحيح كان دائمًا جوهر تكنولوجيا السلاسل الكتلية.
هذا هو السبب في أن هذه الطرق الثلاثة للتحقق تعكس الطرق التي تؤمن بها سلاسل الكتل مساحتها - يستخدم ZK rollups دلائل ZK، ويستخدم optimistic rollups دلائل الغش، وتستخدم معظم سلاسل L1 cryptoeconomics. ليس من المستغرب أن وصلنا إلى حلول تقريبًا نفسها. فما الذي يجعل هذا صعبًا عند تطبيقه على ML؟
تتميز ML لأن عمليات ML عادة ما تُمثل على أنها رسوم بيانية كثيفة مصممة لتشغيلها بكفاءة على وحدات GPU. لا تم تصميمها لتكون مثبتة. لذا، إذا كنت ترغب في إثبات عمليات ML في بيئة ZK أو تفاؤلية، يجب إعادة ترجمتها في تنسيق يجعل ذلك ممكنًا - وهو أمر معقد للغاية ومكلف.
الصعوبة الأساسية الثانية في ML هي عدم التحديد. يفترض التحقق من البرنامج أن مخرجات البرامج تكون محددة. ولكن إذا قمت بتشغيل نفس النموذج على هندسة GPU مختلفة أو إصدارات CUDA مختلفة، ستحصل على مخرجات مختلفة. حتى إذا كنت مضطرًا لإجبار كل عقدة على استخدام نفس الهندسة، ما زلت تواجه مشكلة العشوائية المستخدمة في الخوارزميات (الضوضاء في نماذج الانتشار، أو عينات الرمز في LLMs). يمكنك تصحيح تلك العشوائية عن طريق التحكم فيها RNGالبذور. ولكن حتى مع كل ذلك، ما زلت تواجه المشكلة النهائية المخيفة: عدم التحديد الذي يترتب على عمليات نقطة الفاصلة العائمة.
تُنفذ جميع العمليات تقريبًا في وحدات معالجة الرسوميات على أرقام عشرية عائمة. الأرقام العشرية العائمة حساسة للغاية لأنهاغير تجميعي — أي أنه ليس صحيحًا أن (a + b) + c دائمًا نفسها مثل a + (b + c) للنقاط العائمة. لأن وحدات المعالجة الرسومية متوازية بشكل كبير، يمكن أن تكون ترتيبات الجمع أو الضرب مختلفة في كل تنفيذ، مما قد يتسبب في اختلافات صغيرة في الإخراج. من غير المرجح أن يؤثر هذا على إخراج نموذج LLM نظرًا لطبيعة الكلمات المتقطعة، ولكن بالنسبة لنموذج الصورة، قد ينتج ذلك عن قيم بكسل مختلفة بشكل طفيف، مما يؤدي إلى عدم تطابق الصورتين تمامًا.
هذا يعني أنك تحتاج إما إلى تجنب استخدام النقاط العائمة، مما يعني ضربة هائلة للأداء، أو تحتاج إلى السماح ببعض التساهل في مقارنة النواتج. على أي حال، التفاصيل معقدة، ولا يمكنك تجريدها تمامًا. (لهذا السبب، يتبين أن EVM لا يدعمأرقام عشرية، على الرغم من أن بعض شبكات البلوكشين مثل NEAR do.)
باختصار، الشبكات اللامركزية للاستنتاج صعبة لأن جميع التفاصيل تهم، والواقع لديه كمية مدهشة من التفاصيل.
الآن البلوكشين وتعلم الآلة بوضوح لديهم الكثير ليقولوه لبعضهم البعض. الأول تكنولوجيا تخلق الثقة، والآخر تكنولوجيا بأمس الحاجة إليها. بينما كل نهج للاستدلال اللامركزي له تنازلاته الخاصة، أنا مهتم جدًا بما يفعله رواد الأعمال باستخدام هذه الأدوات لبناء أفضل شبكة متاحة.
لكنني لم أكتب هذه القطعة لتكون الكلمة الأخيرة - أفكر في هذه الأفكار كثيرًا في الوقت الحقيقي وأجري العديد من النقاشات النشطة مع الناس. لقد وجدت دائمًا أن الكتابة هي أفضل طريقة لاختبار أفكاري. إذا كنت تبني شيئًا في هذا المجال، تواصل معي! سأكون سعيدًا دائمًا بمعرفة ما تعمل عليه - وإذا كنت تستطيع أن تثبت لي خطأي، فذلك أفضل بكثير.