Bilde av redaktør
Jeg har lest, skrevet og snakket siden slutten av fjoråret i skjæringspunktet mellom åpen kildekode-programvare og maskinlæring, og prøvd å forstå hva fremtiden kan bringe.
Da jeg begynte, forventet jeg at jeg ville snakke mest om hvordan åpen kildekode-programvare brukes av maskinlæringsfellesskapet. Men jo mer jeg har utforsket, jo mer har jeg innsett at det er mange likheter mellom de to praksisområdene. I denne artikkelen vil jeg diskutere noen av disse parallellene - og hva maskinlæring kan og ikke kan lære av åpen kildekode-programvare.
Den enkle og åpenbare parallellen er at både moderne maskinlæring og moderne programvare er bygget nesten utelukkende med åpen kildekode-programvare. For programvare, det vil si kompilatorer og koderedigerere; for maskinlæring er det trenings- og slutningsrammeverk som PyTorch og TensorFlow. Disse områdene er dominert av åpen kildekode-programvare, og ingenting ser ut til å være klart til å endre det.
Det er ett bemerkelsesverdig, tilsynelatende unntak fra dette: alle disse rammeverkene avhenger av den svært proprietære Nvidia-maskinvare- og programvarestabelen. Dette er faktisk mer parallelt enn det kan se ut til å begynne med. I lang tid kjørte åpen kildekode-programvare hovedsakelig på proprietære Unix-operativsystemer, solgt av proprietære maskinvareleverandører. Det var først etter at Linux kom at vi begynte å ta for gitt at en åpen "bunn" av stabelen til og med var mulig, og mye åpen utvikling gjøres i disse dager på MacOS og Windows. Det er uklart hvordan dette vil spille ut i maskinlæring. Amazon (for AWS), Google (for både sky og Android) og Apple investerer alle i konkurrerende sjetonger og stabler, og det er mulig at en eller flere av disse kan følge veien som er lagt av Linus (og Intel) for å frigjøre hele stable.
En mer kritisk parallell mellom hvordan åpen kildekode-programvare er bygget, og hvordan maskinlæring er bygget, er kompleksiteten og offentlig tilgjengelighet til dataene som hver er bygget på.
Som beskrevet i denne preprint papir “The Data Provenance Project,” som jeg var medforfatter av, er moderne maskinlæring bygget på bokstavelig talt tusenvis av datakilder, akkurat som moderne åpen kildekode-programvare er bygget på hundretusenvis av biblioteker. Og akkurat som hvert åpent bibliotek bringer med seg juridiske, sikkerhets- og vedlikeholdsutfordringer, fører hvert offentlige datasett med seg nøyaktig samme sett med vanskeligheter.
I min organisasjon har vi snakket om åpen kildekode-programvares versjon av denne utfordringen som en "utilsiktet forsyningskjede." Programvareindustrien begynte å bygge ting fordi de utrolige byggesteinene til biblioteker med åpen kildekode betydde at vi kunne. Dette betydde at industrien begynte å behandle åpen kildekode-programvare som en forsyningskjede – noe som kom som en overraskelse for mange av disse «leverandørene».
For å dempe disse utfordringene har åpen kildekode-programvare utviklet mange sofistikerte (men ufullkomne) teknikker, som skannere for å identifisere hva som brukes, og metadata for å spore ting etter distribusjon. Vi begynner også å investere i mennesker, for å prøve å adressere misforholdet mellom industrielle behov og frivillige motivasjoner.
Dessverre ser maskinlæringssamfunnet ut til å kaste seg ut i den samme "tilfeldige" feilen i forsyningskjeden – å gjøre mange ting fordi det kan, uten å tenke mye på de langsiktige implikasjonene når hele økonomien er basert på disse datasettene .
En siste viktig parallell er at jeg har en sterk mistanke om at maskinlæring vil utvide seg til å fylle mange, mange nisjer, akkurat som åpen kildekode-programvare har. For øyeblikket handler den (fortjente) hypen om store, generative modeller, men det finnes også mange små modeller der ute, samt justeringer på større modeller. Faktisk, vertssiden HuggingFace, maskinlærings primære vertsplattform, rapporterer at antallet modeller på nettstedet deres vokser eksponentielt.
Disse modellene vil sannsynligvis være rikelig og tilgjengelige for forbedring, omtrent som små deler av åpen kildekode-programvare. Det vil gjøre dem utrolig fleksible og kraftige. Jeg bruker et lite maskinlæringsbasert verktøy for å gjøre billige, personvernsensitive trafikkmålinger på gaten min, for eksempel, en brukssituasjon som ikke ville vært mulig bortsett fra på dyre enheter for noen år siden.
Men denne spredningen betyr at de må spores – modeller kan bli mindre som stormaskiner og mer som åpen kildekode-programvare eller SaaS, som dukker opp overalt på grunn av lave kostnader og enkel distribusjon.
Så hvis det er disse viktige parallellene (spesielt av komplekse forsyningskjeder og spredende distribusjon), hva kan maskinlæring lære av åpen kildekode-programvare?
Den første parallelle lærdommen vi kan trekke er ganske enkelt at for å forstå de mange utfordringene, vil maskinlæring trenge metadata og verktøy. Åpen kildekode-programvare snublet inn i metadataarbeid gjennom samsvar med opphavsrett og lisensiering, men etter hvert som den utilsiktede forsyningskjeden for programvare har modnet, har metadata vist seg enormt nyttig på en rekke fronter.
I maskinlæring er metadatasporing et arbeid som pågår. Noen få eksempler:
- A nøkkel 2019 papir, mye sitert i bransjen, oppfordret utviklere av modeller til å dokumentere arbeidet sitt med «modellkort». Dessverre tyder nyere forskning på deres implementering i naturen er fortsatt svak.
- Både SPDX- og CycloneDX-programvarestykkespesifikasjonene (SBOM) jobber med AI-stykklister (AI-stykklister) for å hjelpe med å spore maskinlæringsdata og -modeller, på en mer strukturert måte enn modellkort (som passer til kompleksiteten man ville forvente hvis dette gjør virkelig parallell åpen kildekode-programvare).
- HuggingFace har laget en rekke spesifikasjoner og verktøy for å la modell- og datasettforfattere dokumentere kildene sine.
- MIT Data Provenance-artikkelen sitert ovenfor prøver å forstå "grunnsannheten" til datalisensiering, for å hjelpe til med å utdype spesifikasjonene med data fra den virkelige verden.
- Anekdotisk ser det ut til at mange selskaper som driver med maskinlæringsopplæring har noe tilfeldige forhold til datasporing, og bruker "mer er bedre" som en unnskyldning for å skyve data inn i beholderen uten nødvendigvis å spore dem godt.
Hvis vi har lært noe fra åpen, er det at å få metadataene riktige (først spesifikasjonene, deretter de faktiske dataene) kommer til å være et prosjekt på mange år og kan kreve statlig inngrep. maskinlæring bør ta den metadata-stukken før heller enn senere.
Sikkerhet har vært en annen viktig driver for åpen kildekode-programvares metadatabehov – hvis du ikke vet hva du kjører, kan du ikke vite om du er mottakelig for den tilsynelatende endeløse strømmen av angrep.
Maskinlæring er ikke utsatt for de fleste typer tradisjonelle programvareangrep, men det betyr ikke at de er usårbare. (Min favoritt eksempel er at det var mulig å giftbilde treningssett fordi de ofte hentet fra døde domener.) Forskningen på dette området er varm nok til at vi allerede har gått forbi «proof of concept» og inn i «det er nok angrep til å liste og taksonomisere».
Dessverre kan ikke åpen kildekode-programvare tilby maskinlæring noen magiske kuler for sikkerhet – hvis vi hadde dem, ville vi brukt dem. Men historien om hvordan åpen kildekode-programvare spredte seg til så mange nisjer antyder at maskinlæring må ta denne utfordringen på alvor, og starte med sporing av bruk og distribusjonsmetadata, akkurat fordi den sannsynligvis vil bli brukt på så mange måter utover de den er i dag. utplassert.
Motivasjonene som drev åpen kildekode-metadata (lisensiering, deretter sikkerhet) peker mot den neste viktige parallellen: ettersom viktigheten av en sektor vokser, vil omfanget av ting som må måles og spores utvides, fordi regulering og ansvar vil utvides.
I åpen kildekode-programvare var den primære statlige "forskriften" i mange år opphavsrettsloven, og metadata ble utviklet for å støtte det. Men åpen kildekode-programvare møter nå en rekke sikkerhets- og produktansvarsregler – og vi må modne våre forsyningskjeder for å møte disse nye kravene.
AI vil på samme måte bli regulert på et stadig voksende mangfold av måter etter hvert som det blir stadig viktigere. Kildene til regulering vil være ekstremt forskjellige, inkludert innhold (både input og output), diskriminering og produktansvar. Dette vil kreve det som noen ganger kalles "sporbarhet"—forstå hvordan modellene er bygget, og hvordan disse valgene (inkludert datakilder) påvirker resultatene av modellene.
Dette kjernekravet – hva har vi? hvordan kom det hit? – er nå godt kjent for utviklere av åpen kildekode for bedrifter. Det kan imidlertid være en radikal endring for maskinlæringsutviklere og må omfavnes.
En annen parallell lærdom som maskinlæring kan trekke fra programvare med åpen kildekode (og faktisk fra mange bølger av programvare før den, som i det minste dateres tilbake til stormaskinen) er at levetiden vil være veldig, veldig lang. Når en teknologi er "god nok", vil den bli distribuert og må derfor opprettholdes i veldig, veldig lang tid. Dette innebærer at vi må tenke på vedlikehold av denne programvaren så tidlig som mulig, og tenke på hva det vil bety at denne programvaren kan overleve i flere tiår. "Tiår" er ikke en overdrivelse; mange kunder jeg møter bruker programvare som er gammel nok til å stemme. Mange åpen kildekode-programvareselskaper, og noen prosjekter, har nå såkalte "Long Term Support"-versjoner som er beregnet på denne typen brukstilfeller.
Derimot holdt OpenAI Codex-verktøyet tilgjengelig i mindre enn to år—fører til mye sinne, spesielt i det akademiske miljøet. Gitt det raske endringstakten innen maskinlæring, og at de fleste brukere sannsynligvis er interessert i å bruke det aller siste, var dette sannsynligvis ikke urimelig – men dagen vil komme, raskere enn industrien tror, hvor den må planlegge for dette slags "langsiktig" - inkludert hvordan det samhandler med ansvar og sikkerhet.
Til slutt er det klart at – som åpen kildekode-programvare – kommer det til å strømme mye penger inn i maskinlæring, men mesteparten av pengene vil samle seg rundt det en forfatter har kalt de "prosessorrike" selskapene. Hvis parallellene til åpen kildekode-programvare utspiller seg, vil disse selskapene ha helt andre bekymringer og utgiftsprioriteringer enn medianskaperen (eller brukeren) av modeller.
Vårt firma, Tidelift, har tenkt på dette problemet med insentiver i åpen kildekode-programvare i noen tid, og enheter som verdens største kjøper av programvare – den amerikanske regjeringen – er ser på problemet også.
Maskinlæringsbedrifter, spesielt de som ønsker å skape fellesskap med skapere, bør tenke grundig over denne utfordringen. Hvis de er avhengige av tusenvis av datasett, hvordan vil de sikre at disse blir finansiert for vedlikehold, lovoverholdelse og sikkerhet i flere tiår? Hvis store selskaper ender opp med dusinvis eller hundrevis av modeller utplassert rundt om i selskapet, hvordan vil de sikre at de med best spesialistkunnskap – de som har laget modellene – fortsatt er rundt for å jobbe med nye problemer etter hvert som de oppdages?
I likhet med sikkerhet er det ingen enkle svar på denne utfordringen. Men jo raskere maskinlæring tar problemet på alvor – ikke som en veldedighetshandling, men som en nøkkelkomponent i langsiktig vekst – jo bedre har hele industrien og hele verden det.
Maskinlærings dype røtter i akademias kultur for eksperimentering, og Silicon Valleys kultur for rask iterasjon, har tjent den godt, og ført til en fantastisk eksplosjon av innovasjon som ville ha virket magisk for mindre enn et tiår siden. Åpen kildekode-programvares kurs i det siste tiåret har kanskje vært mindre glamorøst, men i løpet av den tiden har det blitt grunnlaget for all bedriftsprogramvare – og lært mye underveis. Forhåpentligvis vil ikke maskinlæring finne opp disse hjulene på nytt.
Luis Villa er medgründer og juridisk rådgiver i Tidelift. Tidligere var han en topp advokat med åpen kildekode som ga råd til klienter, fra Fortune 50-selskaper til ledende startups, om produktutvikling og åpen kildekode-lisensiering.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk deg selv. Tilgang her.
- PlatoAiStream. Web3 Intelligence. Kunnskap forsterket. Tilgang her.
- PlatoESG. Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- PlatoHelse. Bioteknologisk og klinisk etterretning. Tilgang her.
- kilde: https://www.kdnuggets.com/ai-and-open-source-software-separated-at-birth?utm_source=rss&utm_medium=rss&utm_campaign=ai-and-open-source-software-separated-at-birth
- : har
- :er
- :ikke
- :hvor
- $OPP
- 2019
- 50
- a
- Om oss
- ovenfor
- akademisk
- utilsiktet
- Handling
- faktiske
- faktisk
- adresse
- adoptere
- rådgivning
- Etter
- siden
- AI
- Alle
- tillate
- nesten
- langs
- allerede
- også
- utrolig
- Amazon
- an
- og
- android
- sinne
- En annen
- svar
- noen
- hva som helst
- tilsynelatende
- vises
- vises
- eple
- anvendt
- ER
- AREA
- områder
- rundt
- Artikkel
- AS
- At
- Angrep
- forfatter
- forfattere
- tilgjengelighet
- tilgjengelig
- AWS
- tilbake
- basert
- BE
- fordi
- bli
- blir
- vært
- før du
- begynte
- være
- BEST
- Bedre
- mellom
- Beyond
- Sedler
- fødsel
- Blocks
- både
- bringe
- Bringer
- Bygning
- bygget
- men
- by
- som heter
- kom
- CAN
- Kort
- saken
- saker
- tilfeldig
- kjede
- kjeder
- utfordre
- utfordringer
- endring
- Veldedighet
- billig
- chips
- valg
- sitert
- fjerne
- klienter
- Cloud
- Med-grunnlegger
- kode
- Kom
- Communities
- samfunnet
- Selskaper
- Selskapet
- konkurrerende
- komplekse
- kompleksitet
- samsvar
- komponent
- bekymringer
- innhold
- kontrast
- copyright
- Kjerne
- Kostnad
- kunne
- råd
- kurs
- skape
- opprettet
- skaperen
- skaperne
- kritisk
- Kultur
- I dag
- Kunder
- skjæring
- dato
- datasett
- datasett
- Dating
- dag
- Dager
- død
- tiår
- tiår
- dyp
- avhengig
- utplassert
- distribusjon
- detaljert
- utviklet
- utviklere
- Utvikling
- Enheter
- gJORDE
- forskjellig
- vanskeligheter
- oppdaget
- Diskriminering
- diskutere
- distribusjon
- diverse
- do
- dokument
- gjør
- ikke
- gjør
- domener
- gjort
- ikke
- dusinvis
- tegne
- sjåfør
- under
- hver enkelt
- Tidlig
- lette
- lett
- økonomi
- Edge
- redaktører
- omfavnet
- møte
- slutt
- Endless
- nok
- sikre
- Enterprise
- Hele
- fullstendig
- enheter
- spesielt
- Eter (ETH)
- Selv
- stadig voksende
- nøyaktig
- eksempel
- eksempler
- Unntatt
- unntak
- Expand
- forvente
- forventet
- dyrt
- utforsket
- eksplosjon
- eksponentielt
- ekstremt
- ansikter
- kjent
- FAST
- Favoritt
- Noen få
- fyll
- Først
- fleksibel
- Rennende
- følge
- Til
- Fortune
- rammer
- fra
- finansierte
- framtid
- general
- generative
- få
- få
- GitHub
- gitt
- skal
- borte
- Regjeringen
- innvilget
- Økende
- Vokser
- HAD
- Hard
- maskinvare
- Ha
- he
- hjelpe
- her.
- historie
- forhåpentligvis
- Hosting
- HOT
- Hvordan
- Men
- HTTPS
- Klem ansikt
- Mennesker
- Hundrevis
- Hype
- i
- JEG VIL
- identifisering
- IEEE
- if
- bilde
- umåtelig
- Påvirkning
- implikasjoner
- betydning
- viktig
- forbedring
- in
- Incentiver
- Inkludert
- utrolig
- utrolig
- industriell
- industri
- Innovasjon
- innganger
- Intel
- tiltenkt
- interaktiv
- interessert
- kryss
- inn
- Investere
- investere
- IT
- køyring
- DET ER
- bare
- KDnuggets
- holdt
- nøkkel
- Vet
- stor
- større
- største
- Siste
- I fjor
- Late
- seinere
- Law
- advokat
- ledende
- LÆRE
- lært
- læring
- minst
- Lovlig
- mindre
- leksjon
- Lessons
- ansvar
- bibliotekene
- Bibliotek
- Lisensiering
- Life
- i likhet med
- Sannsynlig
- linux
- Lang
- lang tid
- langsiktig
- Se
- Lot
- masse
- Lav
- maskin
- maskinlæring
- MacOS
- magi
- vedlikehold
- større
- gjøre
- måte
- mange
- materialer
- moden
- Kan..
- bety
- midler
- ment
- målte
- måling
- Møt
- metadata
- kunne
- MIT
- Minske
- modell
- modeller
- Moderne
- øyeblikk
- penger
- mer
- mest
- for det meste
- motivasjon
- mye
- mangfold
- må
- my
- nødvendigvis
- Trenger
- behov
- Ny
- neste
- Nei.
- bemerkelsesverdig
- ingenting
- nå
- Antall
- Nvidia
- Åpenbare
- of
- off
- tilby
- ofte
- Gammel
- on
- gang
- ONE
- bare
- åpen
- åpen kildekode
- OpenAI
- drift
- operativsystemer
- or
- organisasjon
- vår
- ut
- utfall
- utganger
- enn
- Fred
- Papir
- Parallel
- Parallels
- spesielt
- Past
- banen
- kanskje
- stykker
- Sted
- fly
- plattform
- plato
- Platon Data Intelligence
- PlatonData
- Spille
- stupe
- Point
- basseng
- pop
- mulig
- kraftig
- praksis
- tidligere
- primære
- sannsynligvis
- Problem
- problemer
- Produkt
- produktutvikling
- Progress
- prosjekt
- prosjekter
- proprietær
- utprøvd
- proveniens
- offentlig
- kjøperen
- pytorch
- radikal
- rask
- heller
- Lesning
- klar
- virkelige verden
- realisert
- nylig
- regulert
- Regulering
- gjenoppfinne
- Relasjoner
- Rapporter
- krever
- Krav
- forskning
- forskning tyder
- ikke sant
- røtter
- rennende
- s
- SaaS
- samme
- SBOM
- omfang
- sektor
- sikkerhet
- søker
- synes
- alvor
- sett
- sett
- bør
- Silicon
- likheter
- på samme måte
- ganske enkelt
- siden
- nettstedet
- liten
- So
- Software
- Programvareutviklere
- solgt
- noen
- noen ganger
- noe
- sofistikert
- kilde
- Kilder
- mellomrom
- sett
- spesialist
- spesifikasjoner
- specs
- utgifter
- spre
- stable
- Stabler
- startet
- Start
- startups
- Still
- stoppe
- stream
- gate
- sterk
- strukturert
- emne
- foreslår
- levere
- forsyningskjeden
- Forsyningskjeder
- støtte
- overraskelse
- overleve
- utsatt
- Systemer
- Ta
- tar
- snakker
- teknikker
- Teknologi
- tensorflow
- begrep
- enn
- Det
- De
- Fremtiden
- deres
- Dem
- deretter
- Der.
- derfor
- Disse
- de
- ting
- tror
- tenker
- tenker
- denne
- De
- selv om?
- tusener
- Gjennom
- tid
- til
- verktøy
- topp
- spor
- Sporing
- tradisjonelle
- trafikk
- Kurs
- behandling
- virkelig
- prøve
- prøver
- tweaks
- to
- typer
- uklar
- underbygger
- forstå
- dessverre
- unix
- us
- bruk
- bruke
- bruk sak
- brukt
- Bruker
- ved hjelp av
- variasjon
- leverandører
- versjon
- veldig
- frivillig
- Stem
- var
- bølger
- Vei..
- måter
- we
- VI VIL
- Hva
- Hva er
- hvilken
- HVEM
- allment
- Wild
- vil
- vinduer
- med
- uten
- Arbeid
- arbeid
- verden
- Verdens
- ville
- skriving
- år
- år
- du
- zephyrnet