Closed emkarcinos closed 1 year ago
Myślałem nad tym trochę i podziele się swoimi sugestiami
Wg mnie stawianie całej infrastruktury do CML trzeba mocno ograniczyć do samej fazy zapisywania modelu i metryk. Nie ma sensu trenować modelu na jakimś serwerze po każdym commicie - to by kosztowało bardzo dużo kasy jeżeli mielibyśmy korzystać z jakiś mocy obliczeniowych na AWSie i mogłoby się to łatwo wymykać spod kontroli.
Sama faza treningu mogłaby się odbywać lokalnie na komputerach każdego z nas, bądź na maszynach obliczeniowych z WMI, a rezultaty (w postaci kodu, modelu i metryk) wysyłalibyśmy do jakiejś naszej instancji np MLFlow. Żeby to było bardziej 'continuous' i 'integrated' to możemy do pull requestów dorzucić linki do tego MLFlowa z modelami uczonymi na tym branchu.
To nie brzmi może jak CML, ale wydaje mi się że naszą pierwszą potrzebą będzie porównywanie modeli i obserwacja jak się zmieniają metryki na przestrzeni rozwoju projektu, archiwizując przy okazji wszystkie modele i rezultaty.
Możemy zatem wziąć nawet prostą maszynę wirtualną z 1 CPU z WMI, wrzucić tam MLFlowa i po prostu podpiąć się pod niego w naszym kodzie (podobnie jak na Inżynierii uczenia maszynowego).
Na ostatnich zajęciach wybraliśmy MLFlow i Azure Machine Learning Studio jeżeli chodzi o archiwizację modeli i wyników.
Czy chcemy robić tu coś jeszcze?
Jako że raczej wszystko ustalone → zamykam
Potrzebujemy na czymś trenować czy ewaluować nasze zmiany. Potrzebujemy platformy która nam to umożliwi. Celem tego zadania jest rozeznanie istniejących rozwiązań, opisania ich, przedstawienia mocnych i słabych stron każdego z nich. Na tej podstawie wyciągniemy wnioski i zdecydujemy czego chcemy używać.