
Hard negative mining: როგორ ასწავლიან მოდელებს „თითქმის სწორის“ გარჩევას
dev.to-ზე გამოქვეყნებულ ტექნიკურ წერილში ინჟინერი Shrijith Venkatramana hard negative mining-ს ხსნის: რატომ სწავლობს მოდელი ცოტას აშკარად მცდარი მაგალითებიდან, როგორ პოულობს რთულ ნეგატივებს თავად მოდელი და რატომ ამცირებს false negative-ები მოგებას.
მოდელი თითქმის არაფერს სწავლობს მაგალითებისგან, რომლებიც აშკარად მცდარია. dev.to-ზე გამოქვეყნებულ ტექნიკურ წერილში ინჟინერი Shrijith Venkatramana hard negative mining-ს retrieval-ის მარტივი მაგალითით ხსნის. თუ მოთხოვნას „How do I rotate an AWS IAM access key?“ გვერდით Kubernetes pod-ის ზომის შეცვლის შესახებ ტექსტს წარუდგენ, მოდელი მათ უპრობლემოდ არჩევს. სხვა საქმეა მოთხოვნა „How do I create an AWS IAM access key?“, სადაც იგივე ლექსიკა და იგივე ობიექტი სულ სხვა პასუხს იძლევა.
მარტივი ნეგატივები იაფია და ხშირად უსარგებლო
კონტრასტული სწავლებისას მოდელი ჯილდოვდება, როცა შესაბამის დოკუმენტს (d+) შეუსაბამოზე (d-) უფრო მაღალი მსგავსება აქვს. მარტივ წყვილში, 0,82 შედარებით 0,12-თან, სიგნალი თითქმის არ არის: მოდელმა განსხვავება უკვე იცის. რთულ წყვილში, 0,82 შედარებით 0,76-თან, მან თავად უნდა მოძებნოს განმასხვავებელი ნიშანი. retrieval სისტემები იშვიათად ცდებიან სრულიად უკავშირო დოკუმენტის დაბრუნებით; ჩვეულებრივი შეცდომა ბიბლიოთეკის არასწორი ვერსია ან კონფიგურაციის ნაცვლად ინსტალაციის სახელმძღვანელოა. იგივე ლოგიკა მუშაობს ყველგან, სადაც სისტემამ უნდა დაალაგოს ან გაარჩიოს: reranker-მა, რომელიც PostgreSQL-ის ოთხ მონაკვეთს ხედავს, უნდა გაიგოს, რატომ პასუხობს ერთი მოთხოვნას, მეორე კი მხოლოდ ახლოსაა თემასთან.
იდეა ენის მოდელებზე ადრე გაჩნდა
მეთოდი კომპიუტერულ ხედვაში ჩამოყალიბდა. FaceNet 2015 წელს გამოქვეყნდა, როცა Florian Schroff-მა, Dmitry Kalenichenko-მ და James Philbin-მა სახეები embedding სივრცეში ასახეს და online triplet mining გამოიყენეს: ქსელის გაუმჯობესებასთან ერთად triplets-ის სირთულე იზრდებოდა. Dense Passage Retrieval-მა, Karpukhin-ისა და კოლეგების ნაშრომმა, 2020 წელს იგივე ლოგიკა ტექსტის ძებნაში გადაიტანა, Microsoft-ის მკვლევრების ANCE კი უფრო შორს წავიდა: approximate-nearest-neighbour ინდექსი რთულ ნეგატივებს თავად მოდელით პოულობს. RocketQA-მ dense passage retrieval-ისთვის denoised hard negatives დამატა.
როგორ ხდება mining პრაქტიკაში
ძირითადი პროცედურა თითოეული მოთხოვნისთვის top k კანდიდატს იღებს, ცნობილ პოზიტივს აცილებს და დანარჩენს ინახავს. მთავარი ხაფანგი ისაა, რომ რთული არ ნიშნავს მცდარს: ძალიან მსგავსი დოკუმენტი შესაძლოა სინამდვილეში სასარგებლო იყოს და მისი მოშორება ძებნის სივრცეს აზიანებს. ამიტომ წარმოების პაიპლაინები კანდიდატებს cross-encoder-ს ან LLM მოსამართლეს ატარებენ, რომ სავარაუდო false negatives მოაცილონ. ხარჯიც მნიშვნელოვანია: მილიონი სასწავლო მოთხოვნა და 20 hard negative თითოეულზე დაახლოებით 20 მილიონ კანდიდატურ კავშირს იძლევა. ავტორი გვირჩევს იაფ პირველ ეტაპს, პერიოდულ mining-ს და teacher-ის ქულებს, რომელთა სასარგებლო ზოლი შუაში, დაახლოებით 0,4-0,8 შუალედშია.
რატომ მუშაობს
კონტრასტულ ფუნქციაში მოდელი ჯილდოვდება მაშინ, როცა ალბათობის უდიდესი ნაწილი პოზიტივზე მოდის. როცა ნეგატივს 0,87 აქვს პოზიტივის 0,90-ის წინააღმდეგ, დანაკარგი გაცილებით დიდ გრადიენტს იძლევა, ვიდრე 0,20-ზე მდგარი ნეგატივი. მარტივი ნეგატივები სივრცის ფართო უბნებს ასწავლის, რთული კი გადაწყვეტილების საზღვარს. ყოველი რაუნდის შემდეგ ხელახალი mining წრეს კეტავს: უკეთესი მოდელი უკეთეს შეცდომებს წარმოქმნის, ეს შეცდომები კი უკეთეს სასწავლო მონაცემად იქცევა.
SiTech — AI-გაძლიერებული ვებ დეველოპმენტი
ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.