Wpis z mikrobloga

#it #programowanie #programista15k #sztucznainteligencja

Artykuł Karpatyego o Software 2.0 ma już 5 lat, a mnie wydaje się, że wciąż jesteśmy bardzo daleko od tego, co proponował.

Dla przypomnienia, przeciwstawia on tradycyjne programowanie (Software 1.0), oparte na jasnych instrukcjach w językach takich jak Python czy C++, z Software 2.0, gdzie "kod" stanowią wagi sieci neuronowych, niepisane bezpośrednio przez ludzi. W Software 2.0 kluczowymi zadaniami są definiowanie celów i szkolenie sieci neuronowych za pomocą dużych zbiorów danych.

Mam wrażenie, że w większości zastosowań wciąż tworzymy jasne instrukcje, a AI jest fancy dodatkiem do tego. Wbrew temu, co mówią firmy
na zewnątrz, wewnętrzne AI prawie nigdy nie jest główną wykorzystywaną technologią lub paradygmatem. W ciągu ostatniego roku-dwóch nieco się to zmieniło, ale wciąż nie na tyle, by choćby zastanawiać się czy już przeszliśmy na Software 2.0.
JamesJoyce - #it #programowanie #programista15k #sztucznainteligencja

Artykuł Karpat...

źródło: s20

Pobierz
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@JamesJoyce no nie wiem jak mam określić automatycznie wagi w problemach w których mam np jeden przykład. W piątek właśnie dostałem taki problem i jeden przykład, zwróciłem się więc do człowieka aby pomógł mi określić jakie elementy są istotne aby się na nich skupić bo żaden algorytm nie wymyśli na podstawie jednego przypadku która wartość z danych wsadowych ma wziąć pod uwagę. W LLMach też doszliśmy do momentu że najtrudniejszą bariera
  • Odpowiedz
  • 0
@zibizz1: przy obecnych rozwiązaniach jest to niemożliwe. O tym dużo mówi/pisze Yann LeCun. A mianowicie, że obecne rozwiązania z zakresu AI mają problemy m.in. z szybkim uczeniem się nowych zadań, rozumieniem funkcjonowania świata i tworzeniem planów. Różnie się piszę natomiast co tutaj jest przyczyną, a co skutkiem. Jedni mówią, że przez to, że llmy (i ogólnie współczesne AI) nie są w stanie uczyć się z małej liczby przykładów i przez
  • Odpowiedz
@JamesJoyce: to jest jak różnica między liczbami całkowitymi, a liczbami zmiennoprzecinkowymi. Jedne służą do jednoznacznego definiowania wartości w ograniczonym zakresie, a drugie do przybliżonego w dużo szerszymi zakresie.

Każdy programista musi umieć podjąć decyzję, kiedy należy zastosować int, a kiedy float. Tak samo programista musi wiedzieć kiedy sterować programem za pomocą jasnych instrukcji, a kiedy za pomocą sieci neuronowej AI.
  • Odpowiedz
W Software 2.0 kluczowymi zadaniami są definiowanie celów i szkolenie sieci neuronowych za pomocą dużych zbiorów danych.


@JamesJoyce: bez sensu IMO. Analogiczną rewolucją mieliśmy w latach 80 w postaci języka smalltalk, gdzie rezygnowaliśmi z kodu będącego źródłem prawdy na środowisko wyklikane w IDE. Kod nie piszemy po to, żeby wiedzieć, że to co napisaliśmy ma sens tylko wtedy jak przyjdzie ktoś z binzesu i powie, że ma działać tak jak
  • Odpowiedz
@zibizz1 jeśli to llm to nie jest to oparte na jednym przykładzie, tylko de facto na całym zbiorze treningowym modelu. Llm jest już przecież wytrenowany. Poczytaj jak działa transfer learning. Później tylko odpowiedni model i jak pisał @cwlmod one-shot learning. Chyba, że czegoś nie rozumiem w twoim problemie.
  • Odpowiedz
@ly000 spoko google mi tak grupuje zdjęcia. Natomiast nie pomaga mi to w tym co powiedziałem. Czyli mam program do przetwarzania danych i dostaje tylko 2 przykłady
1 2 => 4
2 4 => 5

Jak rozwiązać kolejny taki problem? To tylko przykład tego dlaczego software 2.0 jeszcze nie wyparł zwykłych reguł
  • Odpowiedz
  • 0
@Saly: weź pod uwagę to, że Karpaty należy do guru silicon valley AI. Podejrzewam, że w sofcie, który jest pod spodem autopilota Tesli, napisanym za jego kadencji, jest więcej deep learningu niż w typowym europejskim software housie robiącym AI. Ale zgadzam się. Nie wszędzie to zadziała i nie wszędzie jest wgl. potrzebne.
  • Odpowiedz
spoko google mi tak grupuje zdjęcia. Natomiast nie pomaga mi to w tym co powiedziałem. Czyli mam program do przetwarzania danych i dostaje tylko 2 przykłady

1 2 => 4

2 4 => 5


Jak rozwiązać kolejny taki problem? To tylko przykład tego dlaczego software 2.0 jeszcze nie wyparł zwykłych reguł


@zibizz1: człowiek również nie rozwiąże źle zdefiniowanego problemu.
  • Odpowiedz
@ly000 rozwiąże, wystarczy mu podać regułę. "Dodaj 3 do pierwszej liczby" Bardzo duża ilość problemów wymaga znajomości reguł. Łatwiej nauczyć poprzez reguły niż starać się żeby sieć neuronowa się nauczyła tego na podstawie input/output. To trochę tak jakby ktoś miał nauczycy się kodeksu ruchu drogowego poprzez obserwację jazdy samochodem. Oczywiście jest to możliwe jeśli mamy przeogromne ilości materiału video, ale często nie ma takich danych. Zresztą tak się uczy człowieka. ó
  • Odpowiedz
@wafel93 zamiast pisać generator i szkolić sieć neuronową to taniej i dużo szybciej jest wynik sieci neuronowej która mam przepuścić przez skomplikowany zbiór reguł. Tylko najpierw muszę uzyskać informacje jaki jest poprawny wynik dla przykładu który otrzymałem. Obstawiam że informacje konieczna do wygenerowania poprawnego wyniku leży poza dziedziną problemu, ale to się okaże.
  • Odpowiedz