Po upublicznieniu modelu open source pierwszą rzeczą, która staje się delikatna, jest blokada wersji.
Wagi modeli nadal można uzyskać, lecz wersja stała może nie być odtwarzalna.
Po upublicznieniu modelu open source zwykle w pierwszej kolejności rozluźnia się poprawiona wersja, podczas gdy plik wagi jest często najbardziej stabilny.
Nazwa magazynu nadal tam jest i nazwa modelu nadal tam jest, ale faktyczne dane wejściowe używane do przeprowadzania ocen, wykonywania regresji i łączenia ruchu często nie są tym samym. To, co dzisiaj wyciągnęliśmy, to main i w przyszłym tygodniu nadal będzie ta sama ścieżka, ale tokenizator, szablon, pakiet kwantyzacji, domyślny typ dtype, a nawet zalecane parametry w pliku README zostały zmienione. To, co widzisz w Internecie, to nie „model znika”, ale „ta sama nazwa modelu staje się kolejnym produktem”.
Po kilkukrotnym przejęciu dostępu do modelu przekonasz się, że najłatwiejszą do zignorowania wartością jest wartość domyślna. Plik wagi jest zwykle przez kogoś oglądany, ale domyślny tag, domyślny obraz, domyślny szablon i domyślny katalog pamięci podręcznej często pozostają bez nadzoru. Kiedy okno synchronizacji się zawiesi lub stacja lustrzana synchronizuje tylko ciężary, ale nie konfigurację, zespół nagle odkryje, że to, co trzyma, nie jest wersją odtwarzalną, ale ciągiem dryfujących nazw.
Domyślne wejście jest łatwiejsze do driftu niż ciężar.
Plik wagi jest statyczny, wpis nie.
model-name:latest Ten sposób pisania wydaje się łatwy, ale problem polega na tym, że pozostawia kwestię „kiedy aktualizować” na zewnątrz. Jeśli podmiot nadrzędny zmieni tokenizer, doda szablon czatu lub ponownie wpisze pakiet kwantyfikacyjny, zachowanie strony uzyskującej dostęp odpowiednio się zmieni. Wyniki oceny mogą się tylko nieznacznie zmieniać, ale wyniki online po cichu zmienią swój ton. Najbardziej męcząca część rozwiązywania problemów: w dzienniku wszystko wygląda normalnie, ale w rzeczywistości wywoływane jest inne wejście.
Tak naprawdę niekomfortowa jest nie sama zmiana, ale fakt, że zmiana nie pozostawia granic. Dopóki nazwa pozostaje niezmieniona, regresja, skala szarości i przegląd wypadków mogą skupiać się jedynie na wynikach i domyślać się przyczyn. Nazwa modelu nadal tam wisi, ale zespół nie ma możliwości potwierdzenia, czy ten, który dostał dzisiaj, to ten sam produkt, co ten, który był używany w wersji podstawowej w zeszłym tygodniu.
Obrazy, szablony i pakiety kwantyzacji należy zamrozić razem
Samo zablokowanie ciężaru nie wystarczy.
Gdy model open source faktycznie wejdzie do przepływu pracy, zwykle zawiera więcej niż jeden .bin lub .safetensors. Udostępni także tokenizator, szablon czatu, parametry struktury wnioskowania, pliki kwantyfikacyjne, obrazy do pobrania, skrypty startowe i ścieżki pamięci podręcznej. Jeśli któryś z nich ulegnie zmianie, może w końcu pokazać, że „model się pogorszył”. W rzeczywistości często zmienia się nie model, ale pakiet dostawy.
model:
repo: example/model
revision: 8f3c1a2
tokenizer_revision: 8f3c1a2
cache_dir: /opt/model-cache
Ten typ konfiguracji wydaje się szczegółowy, ale skutkuje trzema rzeczami: obraz jest odpowiedzialny za dostępność, numer wersji i skrót odpowiadają za odtwarzalność, a skrypt startowy jest odpowiedzialny za spójne parametry wnioskowania. Bez którejkolwiek z tych warstw tzw. model „już publiczny” można uznać jedynie za półprodukt. Dla strony uzyskującej dostęp najważniejsze jest nie to, czy można je pobrać, ale to, czy pobrana treść będzie nadal mogła dawać takie same wyniki trzy tygodnie później.
Tym, co naprawdę należy chronić, jest zdolność do reprodukcji
Po upublicznieniu modelu open source zespół musi chronić nie tajemnicze wejście, ale powtarzalność.
Po zakłóceniu odtwarzalności linia bazowa oceny ulegnie zmianie, wyniki A/B zostaną zniekształcone, a odtwarzanie wypadków straci odniesienie. Do czasu, gdy wszyscy omawiali problem, używając powiedzenia „w zeszłym tygodniu było normalnie”, zarządzanie wersjami w zasadzie zawiodło. W tym momencie nie ma większego sensu mówienie o możliwościach modelu; jedynie poprzez dokręcenie wersji stałej, synchronizację obrazu, weryfikację skrótu i ścieżkę wycofywania możemy mieć uprawnienia do dalszego mówienia o efekcie.
Ten typ modelu bardziej przypomina artefakt oprogramowania niż usługę internetową. Jeśli strona internetowa jest uszkodzona, nadal widać 500, a wersja modelu dryfuje, a w wielu przypadkach będzie się po prostu powoli zmieniać na wyjściu. Na pozór nadal nosi tę samą nazwę, ale tak naprawdę połowa systemu została zmieniona.
What to read next
Want more posts about AI?
Posts in the same category are usually the best next step for reading more on this topic.
View same categoryWant to keep following #AI?
Tags are useful for related tools, specific problems, and similar troubleshooting notes.
View same tagWant to explore another direction?
If you are not sure what to read next, return to the homepage and start from categories, topics, or latest updates.
Back home