Open IgorTest19 opened 1 month ago
Myślę, że warto najpierw napisać funkcje, które zmieniają liczby w różnych formach (np. 23 -> XXIII -> dwadzieścia trzy / dwódziesty trzeci), a następnie tworzyć instrukcje syntetycznie. Pole "instruct" zawierałoby np. informacje typu "zmień liczby rzymskie na arabskie w załączonym tekście". Trzeba jeszcze zastanowić się, skąd wziąć teksty.
Gdzie taka funkcja powinna się znaleźć w codebase?
Możemy utworzyć plik w instructions/automated, który później będzie też odpowiedzialny za utworzenie całego JSON-a z instrukcjami. Ewentualnie jeśli zacznie się za bardzo rozrastać, to same funkcje pomocnicze można dać do nowego pliku w /utils
Spróbuje się zmierzyć z tym tematem.
Marcin Kowalski (Mrkowalski) podjął się tego tematu, lecz nic nie stoi na przeszkodzie, żeby połączyć siły, a nawet jest to wręcz wskazane! :)
Zastanawiam się nad jeszcze jednym typem instrukcji, które mogłyby podnieść poziom zrozumienia przez model liczb arabskich. Być może dałoby się wygenerować tego trochę syntetycznie. Zamiast prostego konwertowania np. 98->XCVIII można spróbować w "ouput" wpisywać np. wyjaśnienie, dlaczego akurat tak wygląda odpowiedź (wersja arabska).
Teraz zauważyłem, że Bielik ma też problemy z przerabianiem dat na zapis słowny. Też da się dość prosto syntetycznie wygenerować takie instrukcje.
Można utworzyć bardziej rozbudowane outputy na zasadzie: 'Dokonano konwersji z zapisu arabskiego na rzymski, bo liczba odnosi się do wieku' Lecz nie wiem, czy w tym przypadku nie dojdzie do uzyskania odwrotnych efektów. Kiedy użytkownik poprosi o konwersję z liczby rzymskiej na arabską, to model tego nie wykona, bo obecna reprezentacja jest prawidłowa. Ja bym może zrobił to na kilka sposobów: 1) Wykonanie instrukcji, które po prostu dokonują konwersji pomiędzy różnymi sposobami zapisów liczb/dat, tak żeby model mógł po prostu to poprawnie wykonać 2) Można też np. stworzyć konwersację user-assistant podając tekst, gdzie są daty, liczby rzymskie, arabskie, etc. i rozmowa wygląda następująco:
Oczywiście dialogi mogą wyglądać dowolnie. Chodzi o to, żeby zawierały konwersje, oraz będzie można też zawrzeć kontekst, że jest to tekst historyczny, więc występują w nich liczby rzymskie, które oznaczają/mają wartość w zapisie arabskim ...
ENG: Consider creating an instruction dataset that improves the accuracy of conversions between textual, numerical (Arabic and Roman numerals) notations.
POL: Należy rozważyć utworzenie datasetu instrukcyjnego, który poprawi dokładność konwersji/zmiany liczb między zapisami tekstowymi, numerycznymi (cyfry arabskie i rzymskie).
Example of the main field for the instructions / Przykładowe główne pola dla instrukcji
It would be beneficial to include any fields with metadata, such as / dodatkowe pole z metadanymi: