AI na laptopie / by Kuba Filipowski

  1. Fascynuje mnie temat uruchamiana modeli generatywnego AI na komputerach osobistych i telefonach.

  2. Model biznesowy OpenAI to udostępnianie API do ChatGPT i GPT-3 za drobną opłatą. Model jest w chmurze, programista może łatwo się do niego podłączyć i go odpytywać przy użyciu API. W ten sposób osadzić może GPT w swoim oprogramowaniu. Płaci się za każde pobrane tysiąc tokenów.

  3. OpenAI niedawno umożliwiło korzystania z API ChatGPT, koszt tego rozwiązania to $0,002 za tysiąc tokenów. To bardzo tanio, 10x taniej niż poprzednia cena dostępu do GPT.

  4. Malejąca cena sprawia, że łatwiej jest eksperymentować i testować pomysły, co w efekcie przełoży się na więcej zastosowań w konkretnych produktach.

  5. Jest jednak sposób na to by korzystanie z dużego modelu językowego było jeszcze tańsze. Ten sposób to uruchomienie go lokalnie, na swoim komputerze. Wtedy 1000 tokenów kosztuje $0.

  6. Do tej pory było to niemożliwe, bo duże modele językowe potrzebują dużo RAMu i wielu GPU. Na przykład open sourcowy LLM Bloom potrzebuje 352 GB RAMu i 8 GPU (takiego za 22k PLN sztuka). Nie jest to specyfikacja typowego laptopa.

  7. Inżynierom z Mety udało się jednak stworzyć model, który ma podobno możliwości GPT-3 i da się go uruchomić na laptopie MacBook Pro M2 64GB RAMu.

  8. Model LLaMA jest open source, niestety na licencji, która wyłączą komercyjne użycie. Ale można go sobie pooglądać i się nim pobawić.

  9. Pooglądał i pobawił się nim programista Georgi Gerganov i zrobił wersję LLaMA w C++, która działa na laptopie: llamma.ccp. Lokalnie, bez internetu, bez API do innych dostawców. LLaMA działa sobie na komputerze użytkownika. Za darmo, bez limitów.

    1. Ten sam pan zrobił podobną rzecz z Whisperem, czyli modelem do transkrypcji głosu (automatic speech recognition), dzięki temu można na iPhonie, offline, robić transkrypcje za darmo.

  10. To co jest istotnym mankamentem LLaMA to fakt, że nie rozumie instrukcji. Rozumienie instrukcji to istotna innowacja OpenAI. Dzięki niej, odpowiedzi modelu językowego są bardziej intuicyjne i przydatne dla użytkownika.

    1. OpenAI pokazuje to na przykładzie:

    2. prompt: Explain the moon landing to a 6 year old in a few sentences.

    3. odpowiedź “czystego” GPT-3 bez instruct: Explain the theory of gravity to a 6 year old.

    4. odpowiedź InstructGPT: People went to the moon, and they took pictures of what they saw, and sent them back to the earth so we could all see them.

  11. Jak widać na powyższym przykładzie rozumienie instrukcji jest ważne, żeby otrzymywać oczekiwane rezultaty.

  12. LLaMA nie rozumie instrukcji.

  13. Bardzo szybko pojawił się jednak projekt Stanford Alpaca, stworzony przez grupę naukowców ze Stanford, którzy wzięli LLaMA i dostroili ją tak by rozumiała instrukcję.

  14. Co ciekawe Stanford Alpaca została dostrojona danymi z API OpenAI. Naukowcy zapłacili za dostęp do API OpenAI, wrzucili do niego 175 promptów / seed tasków i dostroili LLaMA odpowiedziami. Działa. Piękne!

    1. Instruct, czyli technika stworzona przez OpenAI, nad którym pracowało dłuższy czas i co jest jednym z filarów dobrego user experience ChatGPT, udało się “skopiować” za kilka dolarów.

  15. Dlaczego to jest fascynujące? Okazuje się, że można mieć duży model językowy, który nie wymaga dużych zasobów, działa lokalnie i ma podobny UX do lidera branży, za darmo.

  16. To oznacza, że prawdopodobnie będzie można osadzić taki model na poziomie systemu operacyjnego komputera, lub może wkrótce telefonu.

  17. Wyobraźcie sobie alternatywną rzeczywistość, w której ilekroć robicie zdjęcie telefonem, to musi ono zostać wysłane do internetu, żeby jakaś cyfrowa usługa poprawiła jasność, kontrast i zrobiła inne sztuczki computational photography, które pozwalają na robienie dobrych zdjęć na telefonie. Wtedy każde robienie zdjęcia działało by wolno i byłoby kosztem dla właściciela systemu operacyjnego.

    1. Computational photography odbywa się na telefonie przy wsparciu specjalnie zaprojektowanych pod tę funkcję procesorów. Dlatego jest za darmo.

  18. Bardziej wulgarny przykład: jeśli kalkulator w telefonie, ilekroć wpiszemy do niego 2+2 musiałby odpytywać centralny serwer kalkulacji o to jaki jest wynik, to korzystanie z kalkulatora byłoby mniej wygodne, wolniejsze i bardziej kosztowne.

  19. Tak działają LLMy w modelu proponowanym przez OpenAI. Za każde przetworzenie musimy płacić.

  20. Alpaca i LLaMA są obietnicą, że w przyszłości te operacje będą mogły dziać się lokalnie, na poziomie systemu operacyjnego.

  21. Kto zarabia na obrabianiu zdjęć z telefonu? Kto zarabia na liczeniu na kalkulatorze? Tylko producent systemu operacyjnego lub telefonu / komputera, który jest opakowaniem dla tego systemu operacyjnego.

  22. Myślę, że taka jest przyszłość tej technologii. Duży model językowy będzie elementem systemu operacyjnego naszych telefonów i komputerów osobistych.