
125 მილიონი პარამეტრის მოდელი პიანინოს დაკვრას ავტომატურად აგრძელებს
ბლოგის ავტორმა 125 მილიონი პარამეტრის ტრანსფორმერი გაწვრთნა, რომელიც MIDI პიანინოს შესრულებას რეალურ დროში აგრძელებს. მოდელი iPhone-ზე მთლიანად მოწყობილობაზე მუშაობს — წამში დაახლოებით 108 ნოტით.
ავტორმა, რომელიც ბლოგს SimEdw-ის სახელით აქვეყნებს, 125 მილიონი პარამეტრის ტრანსფორმერი გაწვრთნა, რომელიც MIDI პიანინოს შესრულებას რეალურ დროში აგრძელებს. მოდელი მთლიანად მოწყობილობაზე მუშაობს და iPhone 15-ზე წამში დაახლოებით 108 ნოტს აწარმოებს — ეს ცოცხალი დაკვრისთვის საკმარისზე მეტია. ამ მოდელზე აგებული აპლიკაცია RollTab App Store-ში უფასოდაა ხელმისაწვდომი MIDI კლავიატურისა და iPhone-ის ან iPad-ის მფლობელებისთვის. პროექტი დაახლოებით ერთი წლის წინ დაიწყო და 14 ექსპერიმენტი მოითხოვა.
ნოტების წარმოდგენა
MIDI ფაილი ჩაწერილ ხმას კი არ ინახავს, არამედ მოვლენებს: კლავიშის დაჭერა სიმაღლითა და დინამიკით, გაშვება, პედლის მდგომარეობის ცვლილება. თითოეული მოვლენისთვის ცალკე ტოკენი ლექსიკონს სწრაფად ზრდიდა — მხოლოდ დაჭერა/გაშვებისთვის 16 512-მდე კომბინაცია გამოდიოდა, რადგან 128 სიმაღლე 128 დინამიკაზე მრავლდება.
საბოლოო ფორმატში ერთი ნოტი ერთი ნაბიჯია: NOTE(pitch, delta_onset, duration, velocity). ცალკე TIME_SHIFT მოვლენა არ არსებობს — პაუზა შემდეგი ნოტის delta-ში იკითხება, აკორდები კი ერთი და იმავე delta-ს მქონე რამდენიმე ნოტად იშიფრება. სუსტეინის პედლის ეფექტი წინასწარ დამუშავებისას ნოტის ხანგრძლივობაში ჩაიწერება, ამიტომ მოდელი მხოლოდ სიმაღლეს, დაწყებას, ხანგრძლივობასა და დინამიკას პროგნოზირებს. ტრანსფორმერს ნოტის ატრიბუტებზე ოთხი გავლა აღარ სჭირდება — ის მუსიკას მთელი ნოტით წევს წინ.
მონაცემები და ვარჯიში
მონაცემთა ნაკრები საჯარო დომენის ძირითადად კლასიკური მუსიკის ასეულ ათასამდე MIDI ფაილს მოიცავს — დაახლოებით 300 მილიონი ნოტის მოვლენა. ავტორმა არაპიანინოსეული ტრეკები ამოიღო, მასალა სიმჭიდროვის მიხედვით გაფილტრა და დედუპლიკაცია ტრანსპოზიციისა თუ ტემპის ცვლილების უგულებელყოფით ჩაატარა. ნაკრების ხუთჯერ გაზრდამ შედეგი გააუარესა — ავტორის დასკვნით, მონაცემების გაწმენდა მოცულობაზე მეტს ნიშნავს.
გაწვრთნა ხუთ გამოსავალზე (ტიპი, სიმაღლე, delta, ხანგრძლივობა, დინამიკა) ჯვარედინ-ენტროპიით მიმდინარეობს. დაგეგმილმა სემპლინგმა, როცა მოდელი ვარჯიშისას ზოგჯერ საკუთარ პროგნოზს იყენებს, ვალიდაციის დანაკარგი გააუარესა (2.9998 2.9495-ის წინააღმდეგ), მაგრამ გაგრძელებები გააუმჯობესა: Gemini 3.5 Flash-ის წყვილობრივ შეფასებაში ასეთი მოდელი 64.3%-ში ამჯობინეს. ამ პრეფერენციებზე DPO-ს შემდგომი გაწვრთნა მთავარ გაუმჯობესებად იქცა.
მოწყობილობაზე და შეზღუდვები
არქიტექტურა სტანდარტული დეკოდერ-მხოლოდ ტრანსფორმერია: RMSNorm, rotary პოზიციური ემბედინგები, მიზეზობრივი self-attention და SwiGLU ბლოკები. გაწვრთნილია სამი ზომა — დაახლოებით 33, 64 და 125 მილიონი პარამეტრი; ინფერენსი Core ML-ის გავლით მთლიანად მოწყობილობაზე მიმდინარეობს.
ავტორი ღიად აღნიშნავს ნაკლოვანებებს: მოდელი ხანდახან ციკლში ვარდება და მოკლე პრომპტები რჩება რთულ ამოცანად. მისივე შეფასებით, ეს „GPT-2-ია, მაგრამ პიანინოსთვის“.
SiTech — AI-გაძლიერებული ვებ დეველოპმენტი
ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.