ارزیابی خطوط لوله بازیابی و تولید


نویسنده(ها): نیلش راغوانشی

در ابتدا منتشر شد به سمت هوش مصنوعی.

بهبود سیستماتیک بازیابی نسل افزوده (RAG).

ارزیابی خط لوله – تصویر ایجاد شده توسط هوش مصنوعی

مقدمه

این سومین و آخرین مقاله از یک سری کوتاه در مورد بهبود سیستماتیک نسل افزوده بازیابی (RAG) است. در مقالات قبلی، عملکرد مدل‌های تعبیه‌شده چندگانه را در یک دامنه خاص ارزیابی کردیم مجموعه داده و مدل بهینه تعبیه را انتخاب کرد. ما آن را با نحوه تنظیم دقیق مدل تعبیه بر روی داده های خاص دامنه دنبال کردیم و عملکرد آن را با مدل های برتر در مرحله اول مقایسه کردیم. در این مقاله به ارزیابی عملکرد خطوط لوله بازیابی و تولید می پردازیم. این به تعیین بهینه ترین خط لوله RAG برای برنامه شما کمک می کند.

ارزیابی خط لوله بازیابی

اکنون که مدل بهینه تعبیه را برای مورد استفاده خود پیدا کرده ایم، گام بعدی ارزیابی خود خط لوله بازیابی است. ارزیابی به ما امکان می‌دهد تا مدل‌های تعبیه‌شده برتر را در ابعاد مختلف انتخاب کنیم، به‌طور بالقوه مقادیر متعددی را در نظر بگیریم. k نزدیکترین همسایه. همچنین ممکن است گزینه‌های جستجوی مختلف، مانند جستجوی برداری، جستجوی متن کامل، یا جستجوی ترکیبی را بررسی کنیم. برای هر کدام، ممکن است جستجوی گسترده ای در کل مجموعه انجام دهیم. از طرف دیگر، ممکن است یک جستجوی متمرکز روی موضوعات خاص بر اساس ابرداده استخراج شده از پرس و جو کاربر انجام دهیم، یا حتی از ترکیبی از هر دو رویکرد استفاده کنیم. علاوه بر این، ارزش ارزیابی خط لوله با و بدون رتبه‌بندی مجدد را دارد. همانطور که می بینید، ما به سرعت با ترکیب های متعددی از اجزا در خط لوله بازیابی خود سروکار داریم. بنابراین، مقایسه و تعیین پیکربندی بهینه برای برنامه شما بسیار مهم است.

یک مجموعه داده طلایی ایجاد کنید

اولین قدم ایجاد یک «طلایی است مجموعه داده” شامل پرس و جوها، زمینه مرتبط (تکه ها یا اسناد از مجموعه)، و پاسخ های حقیقت پایه است. ما با حدود 80 تا 100 نمونه شروع کردیم و به صورت دستی مجموعه داده را تنظیم کردیم تا مطمئن شویم که سناریوهای دنیای واقعی را از نزدیک نشان می دهد. این محدوده برای ایجاد تعادل بین امکان سنجی و تنوع انتخاب شده است، و نمونه های کافی برای پوشش موارد استفاده کلیدی بدون اینکه بیش از حد وقت گیر شود، ارائه می دهد. برای رسیدن به این هدف، کارشناسان دامنه و صاحبان محصول را برای ایجاد این مجموعه داده درگیر کردیم. می‌توانید از ابزارهای برچسب‌گذاری خارج از قفسه برای ساده‌سازی این فرآیند استفاده کنید. آرگیلا یک انتخاب عالی است!

پیکربندی و اجرای بازیابی

در مرحله بعد، ما به راهی برای پیکربندی چندین گزینه بازیابی و اجرای فرآیند بازیابی برای هر ترکیب به طور مستقل از برنامه اصلی نیاز داریم. ما یک اسکریپت برای این منظور ساختیم، که یک مجموعه داده نتایج جداگانه برای هر پیکربندی بازیابی ایجاد می‌کند، در حالی که با گنجاندن شناسه‌های منحصربه‌فرد برای هر جفت پرس و جو و زمینه، ردپایی را به مجموعه داده طلایی اصلی حفظ می‌کند. این به ما امکان می دهد به راحتی نتایج را در اجراها و پیکربندی های مختلف مقایسه کنیم و از قابلیت ردیابی و سازگاری در فرآیند ارزیابی اطمینان حاصل کنیم. مجموعه داده جدید، k اسناد بالا را برای هر پرس و جو در مجموعه داده طلایی برای یک پیکربندی خط لوله بازیابی معین ثبت می کند. ثبت نتایج به‌عنوان مجموعه داده در ابزاری مانند Argilla نیز می‌تواند مفید باشد، زیرا امکان بررسی و برچسب‌گذاری نتایج را از نظر ارتباط و رتبه‌بندی توسط انسان، با اتوماسیون داخلی برای کمک به افزایش تلاش‌های برچسب‌گذاری انسانی فراهم می‌کند.

از LLM ها برای ارزیابی استفاده کنید

از آنجایی که بررسی انسانی فراتر از یک نقطه خاص مقیاس پذیر نیست، ما از یک مدل زبان بزرگ (LLM) برای کمک به ارزیابی کیفیت بازیابی استفاده می کنیم. شما می توانید از بهترین LLM مانند استفاده کنید GPT-4 یا مدل های تخصصی مانند پرومتئوس برای این کار

ما LLM را نگه می داریم شغل تا حد امکان ساده برای اطمینان از قابلیت اطمینان بالاتر. با توجه به یک پرس و جو، پاسخ حقیقت پایه، و زمینه بازیابی شده، از LLM می خواهیم به یک سوال ساده پاسخ دهد: آیا زمینه بازیابی شده حاوی اطلاعات مرتبطی برای پاسخگویی به پرس و جو بر اساس پاسخ حقیقت پایه است؟ LLM با «مربوط» یا «نامرتبط» همراه با توضیحی برای تصمیم خود پاسخ می دهد. باز هم، این نتایج را می توان برای بررسی انسانی در Argilla ثبت کرد تا بررسی کند که چگونه قضاوت LLM با ارزیابی انسانی مرتبط است.

نتایج را تجسم کنید

در نهایت، تجسم نتایج برای مقایسه تنظیمات و تعیین موثرترین خط لوله بازیابی ضروری است. حتی یک تجسم اولیه به درک اثربخشی هر ترکیب کمک می کند و تصمیم گیری بهتر برای انتخاب تنظیمات نهایی را تسهیل می کند، اگر با گزینه های متعددی سر و کار دارید.

ارزیابی خط لوله بازیابی (تصویر توسط نویسنده)

هنگامی که اولین نمونه اولیه پروژه را ارائه کردیم، از آن استفاده کردیم BAAI/bge-large-en-v15 به عنوان مدل تعبیه شده خط لوله بازیابی ما بر اساس جستجوی برداری با ترکیبی از جستجوی گسترده و جستجوی محدود بود. در پایان، ما نتایج را ترکیب کردیم و از یک مدل رتبه‌بندی مجدد برای رتبه‌بندی مجدد و انتخاب برتر استفاده کردیم. n اسناد همانطور که ممکن است حدس بزنید، این پیچیدگی زیادی اضافه کرد و به تأخیر کمک کرد.

با نگاهی به نتایج ارزیابی، متوجه شدیم که مدل تنظیم شده تنها با جستجوی گسترده و بدون رتبه‌بندی مجدد، بهترین دقت را ارائه می‌دهد. این یک بینش قابل توجه بود، زیرا ما نه تنها اندازه جاسازی خود را به نصف کاهش دادیم، بلکه خط لوله بازیابی خود را نیز ساده کردیم، که منجر به صرفه جویی قابل توجهی در ذخیره سازی، حافظه، تأخیر و هزینه شد، همراه با بهبود 8 درصدی در عملکرد بازیابی.

ارزیابی خط لوله نسل

اکنون که موثرترین خط لوله بازیابی را شناسایی کرده ایم، تمرکز بعدی ما بر روی ارزیابی خط لوله تولید است. ارزیابی فرآیند تولید معمولاً شامل آزمایش مدل‌های مختلف زبان بزرگ (LLM) با فراپارامترهای مختلف مانند دما، حداکثر نشانه‌ها است. علاوه بر این، می‌توانید چندین فرمان سیستم را آزمایش کنید. تعداد تکه های موجود در زمینه می تواند به طور قابل توجهی بر نتایج تأثیر بگذارد. همچنین ممکن است بخواهید قبل از ارائه پاسخ نهایی به کاربر، مراحل پس از پردازش، مانند اعمال نرده های محافظ یا بررسی های اعتبار سنجی را نیز لحاظ کنید.

فرآیند ارزیابی با انتخاب دو یا سه خط لوله بازیابی برتر از مرحله ارزیابی قبلی آغاز می شود. سپس با اضافه کردن تغییرات در خط لوله تولید، بر این موارد بنا می‌کنیم. نگه داشتن گزارش های سازمان یافته از نتایج در هر مرحله مفید است، زیرا این موارد پایه و اساس ارزیابی های بعدی را تشکیل می دهند. به عنوان مثال، نتایج ارزیابی خط لوله بازیابی نقطه شروعی برای ارزیابی خط لوله تولید می شود. مشابه ارزیابی بازیابی، ما به راهی برای پیکربندی و اجرای هر تغییر خط لوله نیاز داریم در حالی که به طور مداوم همه نتایج، مانند پاسخ های تولید شده توسط هوش مصنوعی را برای هر تکرار ثبت می کنیم.

پس از ایجاد نتایج برای هر تغییر خط لوله، مرحله بعدی ارزیابی است. این را می توان از طریق قضاوت انسان یا با استفاده از رویکرد مبتنی بر LLM انجام داد. در مورد ما، ما بر روی تعیین اینکه آیا پاسخ تولید شده توسط هوش مصنوعی از نظر ماهیت صحیح است یا خیر تمرکز کردیم – به این معنی که به جای اینکه دقیقاً مطابقت داشته باشد، با حقیقت اصلی مطابقت دارد. به عنوان مثال، ما بررسی کردیم که آیا پاسخ از روش و پارامترهای صحیح در SimTalk استفاده می کند یا خیر. به قاضی مستقر در LLM دستور داده شد که هر پاسخ را به عنوان “درست” یا “نادرست” طبقه بندی کند و توضیحی برای تصمیم خود ارائه دهد.

تجسم ارزیابی خط لوله نسل

نمودارهای زیر یک خط لوله تولید نسبتاً ساده را نشان می دهند که در آن عملکرد GPT-4O و CLAUDE 3.5 Sonnet را در چهار خط لوله بازیابی مختلف ارزیابی کردیم. این تنظیم به ما امکان داد نه تنها بهترین خط لوله بازیابی، بلکه پیکربندی تولید بهینه را برای مورد استفاده خاص خود تعیین کنیم. لطفاً توجه داشته باشید که نمی توان کورکورانه به قضاوت LLM اعتماد کرد. مهم است که ایجاد شود همبستگی حداقل برای یک زیرمجموعه کوچک از مجموعه داده ارزیابی، با قضاوت انسانی.

ارزیابی خط لوله تولید (تصویر توسط نویسنده)

نتیجه گیری

با ارزیابی سیستماتیک هر دو خط لوله بازیابی و تولید، می توانید یک سیستم تولید تقویت شده بازیابی قوی ایجاد کنید که دقیق و پاسخگوی نیازهای اطلاعات ظریف باشد. ارزیابی‌ها کمک می‌کنند تا درک خود را از آنچه بهترین کار می‌کند، اصلاح کنید و بینش‌هایی از جمله اینکه کدام پیکربندی مدل برای کارهای خاص مؤثرتر است را ارائه می‌دهد. این پیشرفت‌های تکراری به شما کمک می‌کنند بفهمید کجا باید تمرکز کنید و در نهایت شما را به دستیابی به اهداف تجاری خود نزدیک‌تر می‌کند.

منتشر شده از طریق به سمت هوش مصنوعی



منبع: https://towardsai.net/p/l/evaluating-retrieval-generation-pipelines