Tóm tắt
Tác giả huấn luyện một transformer 125M parameter để autocomplete phần piano tiếp theo từ MIDI input và chạy real-time trên iPhone 15 ở khoảng 108 note mỗi giây. Ứng dụng RollTab nhận prompt từ bàn phím MIDI rồi sinh continuation trực tiếp trên iPhone/iPad.
Điểm đáng học nhất là chuỗi quyết định kỹ thuật: representation MIDI, lọc dữ liệu, evaluation bằng pairwise comparison, rồi DPO post-training.
Giới thiệu
MIDI không lưu âm thanh như MP3. Nó lưu sự kiện âm nhạc: phím nào được nhấn, velocity bao nhiêu, khi nào nhả phím, sustain pedal thay đổi ra sao. Vì vậy model không cần sinh waveform; nó sinh chuỗi event âm nhạc có thể phát lại bằng synthesizer.
Cách token hóa ngây thơ là tạo token cho từng sự kiện như NOTE_ON_60_80, NOTE_OFF_60, TIME_SHIFT_12. Cách này làm vocabulary phình to vì pitch và velocity có nhiều tổ hợp hiếm. Tác giả thử grammar-masked stream để buộc output hợp lệ, nhưng cuối cùng đi theo hướng representation giúp model tiến theo từng note hoàn chỉnh thay vì mất nhiều transformer pass cho từng thuộc tính.
Phát hiện chính
Dataset cuối gồm vài trăm nghìn file MIDI, tương đương khoảng 300 triệu note event. Tác giả ghi rõ việc tăng dataset lên khoảng 5x không làm model tốt hơn; lọc và chọn dữ liệu quan trọng hơn việc đổ thêm dữ liệu bẩn.
Có ba kích cỡ model, trong đó bản lớn khoảng 125M parameter. Bản nhỏ hữu ích cho thử nghiệm nhanh, bản medium thường tốt hơn, còn bản large tốt nhất nhưng không vượt quá xa. Hiện tác giả muốn đưa chất lượng bản medium gần bản large để giảm footprint và latency trên iOS.
Sau pretraining, DPO tạo khác biệt lớn. Tác giả dùng Gemini 3.5 Flash cho pairwise evaluation thay vì chấm điểm tuyệt đối, rồi tạo preference dataset. Sau DPO, hơn 69% continuation được evaluator chọn tốt hơn base model.
Ý nghĩa với Dev
Nếu bạn làm model nhỏ on-device, bài này đáng đọc vì nó không bán phép màu. Latency real-time đến từ representation đúng, output space hợp lý, grammar để tránh token vô nghĩa, và data cleaning nghiêm túc.
Điểm cần thận trọng là evaluation âm nhạc vẫn mang tính chủ quan. Pairwise preference giúp ổn định hơn score tuyệt đối, nhưng benchmark độc lập hoặc user study vẫn sẽ cần thiết nếu muốn biến demo thành sản phẩm đáng tin.