Om partiskhet inom artificiell intelligens

Om partiskhet inom artificiell intelligens

tl;dr:

  • MaskininlĂ€rning letar efter mönster i data. Men artificiell intelligens kan vara 'partisk' — det vill sĂ€ga, den kan hitta felaktiga mönster. Till exempel kan ett system för att upptĂ€cka hudcancer via fotografier fĂ€sta sĂ€rskild uppmĂ€rksamhet vid bilder tagna i lĂ€karmottagningar. MaskininlĂ€rning kan inte förstĂ„: dess algoritmer identifierar bara mönster i siffror, och om data inte Ă€r representativa kommer resultatet av deras bearbetning att vara detsamma. Att fĂ„nga sĂ„dana buggar kan vara svĂ„rt pĂ„ grund av sjĂ€lva mekaniken i maskininlĂ€rning.
  • Det mest uppenbara och skrĂ€mmande ĐżŃ€ĐŸĐ±Đ»Đ”ĐŒomrĂ„det Ă€r mĂ€nniskors mĂ„ngfald. Det finns mĂ„nga skĂ€l till varför data om mĂ€nniskor kan förlora objektivitet redan vid insamlingsstadiet. Men man bör inte tro att detta problem bara gĂ€ller mĂ€nniskor: liknande svĂ„righeter uppstĂ„r ocksĂ„ vid försök att upptĂ€cka en översvĂ€mning pĂ„ ett lager eller en trasig gasturbin. Vissa system kan ha fördomar mot hudfĂ€rg, medan andra kan vara partiska mot Siemens-sensorer.
  • Dessa problem Ă€r inte nya för maskininlĂ€rning, och de Ă€r inte unika för bara den. Felaktiga antaganden görs i alla komplexa strukturer, och att förstĂ„ varför ett visst beslut fattades Ă€r alltid en utmaning. Detta mĂ„ste bekĂ€mpas pĂ„ ett holistiskt sĂ€tt: skapa verktyg och processer för verifiering — och utbilda anvĂ€ndarna sĂ„ att de inte blint följer AI:s rekommendationer. MaskininlĂ€rning gör verkligen vissa saker mycket bĂ€ttre Ă€n vi gör — men hundar, till exempel, Ă€r betydligt effektivare Ă€n mĂ€nniskor pĂ„ att upptĂ€cka droger, vilket inte alls Ă€r en anledning att anvĂ€nda dem som vittnen och döma baserat pĂ„ deras vittnesmĂ„l. Och hundar, för att nĂ€mna det, Ă€r mycket smartare Ă€n nĂ„got system för maskininlĂ€rning.

MaskininlÀrning Àr idag en av de viktigaste grundlÀggande teknologiska trenderna. Det Àr ett av de frÀmsta sÀtten som teknologin kommer att förÀndra vÀrlden omkring oss under det kommande decenniet. Vissa aspekter av dessa förÀndringar vÀcker oro. Till exempel, den potentiella pÄverkan av maskininlÀrning pÄ arbetsmarknaden, eller dess anvÀndning för oetiska syften (till exempel av auktoritÀra regimer). Det finns ytterligare ett problem, vilket detta inlÀgg handlar om: partiskhet hos artificiell intelligens.

Det hÀr Àr en komplex historia.

Om partiskhet inom artificiell intelligens
Google AI kan hitta katter. Denna nyhet frÄn 2012 var dÄ nÄgot speciellt.

Vad Àr "AI-bias"?

"RĂ„data" Ă€r bĂ„de en oxymoron och en dĂ„lig idĂ©; data mĂ„ste bearbetas noggrant och med omsorg. —Jeffrey Boker

Fram till 2013, för att skapa ett system som, sĂ€g, kĂ€nner igen katter pĂ„ fotografier, behövde du beskriva logiska steg. Hur man hittar hörn i bilden, kĂ€nner igen ögon, analyserar texturer för pĂ€ls, rĂ€knar fötter och sĂ„ vidare. Sedan sammanstĂ€llde man alla komponenter – och insĂ„g att det knappt fungerade. UngefĂ€r som en mekanisk hĂ€st – teoretiskt möjligt, men praktiskt sett för komplicerat att beskriva. I slutĂ€ndan fick man hundratals (eller till och med tusentals) handskrivna regler. Och ingen fungerande modell.

Med maskininlÀrning slutade vi anvÀnda "manuella" regler för att kÀnna igen olika objekt. IstÀllet tar vi tusen exempel av "det", X, tusen exempel av "det andra", Y, och fÄr datorn att bygga en modell baserad pÄ deras statistiska analys. Sedan ger vi denna modell ett exempel pÄ data, och den bestÀmmer med viss precision om det passar nÄgon av uppsÀttningarna. MaskininlÀrning genererar en modell baserat pÄ data, snarare Àn med hjÀlp av en mÀnniska som skriver den. Resultaten Àr imponerande, sÀrskilt inom bild- och mönsterigenkÀnning, och det Àr dÀrför hela teknikbranschen nu gÄr över till maskininlÀrning (ML).

Men det Àr inte sÄ enkelt. I verkliga livet innehÄller dina tusen exempel X eller Y ocksÄ A, B, J, L, O, R och Àven L. De kan vara ojÀmnt fördelade, och vissa av dem kan förekomma sÄ ofta att systemet lÀgger mer vikt vid dem Àn vid de objekt som du Àr intresserad av.

Vad betyder det hÀr i praktiken? Mitt favoritexempel Àr nÀr bildigenkÀnningssystem tittar pÄ en grönskande kulle och sÀger: "ett fÄr". Det Àr tydligt varför: de flesta exempelbilder pÄ "fÄr" tas pÄ Àngar dÀr de bor, och pÄ dessa bilder tar grÀset upp mycket mer utrymme Àn de smÄ vita fluffiga fÄren, och just grÀset bedöms som det viktigaste av systemen.

Det finns ocksÄ allvarligare exempel. Ett av de senaste Àr ett projektet i upptÀckten av hudcancer pÄ fotografier. Det visade sig att dermatologer ofta fotograferar en linjal tillsammans med manifestationer av hudcancer för att dokumentera storleken pÄ formationerna. PÄ exempelbilder av frisk hud finns det inga linjaler. För ett AI-system blev dessa linjaler (mer exakt, pixlar som vi identifierar som "linjal") en av skillnaderna mellan uppsÀttningarna av exempel, och ibland viktigare Àn smÄ utslag pÄ huden. SÄ systemet, som skapades för att kÀnna igen hudcancer, kÀnde ibland igen linjaler istÀllet för det.

Den centrala punkten hÀr Àr att systemet inte har en semantisk förstÄelse för vad det tittar pÄ. Vi ser ett antal pixlar och identifierar dem som en fÄr, hud eller linjaler, medan systemet endast ser en numerisk strÀng. Det ser inte tredimensionellt utrymme, ser varken objekt, texturer eller fÄr. Det ser bara mönster i datan.

SvÄrigheten med att diagnostisera sÄdana problem Àr att neurala nÀtverk (modellen som genererats av ditt maskininlÀrningssystem) bestÄr av tusentals hundratusentals noder. Det finns inget enkelt sÀtt att titta in i modellen och se hur den fattar beslut. Att ha ett sÄdant sÀtt skulle innebÀra att processen Àr tillrÀckligt enkel för att beskriva alla regler manuellt, utan att anvÀnda maskininlÀrning. MÀnniskor oroar sig för att maskininlÀrning har blivit nÄgon slags "svart lÄda". (Jag förklarar snart varför denna jÀmförelse ÀndÄ Àr överdriven.)

Detta Àr i stora drag problemet med fördomar i artificiell intelligens eller maskininlÀrning: systemet för att hitta mönster i data kan hitta felaktiga mönster, och du kan omöjligt mÀrka det. Detta Àr en grundlÀggande egenskap hos teknologin, och det Àr uppenbart för alla som arbetar med den inom vetenskapliga kretsar och stora teknikföretag. Men dess konsekvenser Àr komplexa, och vÄra möjliga lösningar pÄ dessa konsekvenser Àr ocksÄ.

LÄt oss först prata om konsekvenserna.

Om partiskhet inom artificiell intelligens
AI kan implicit göra val för oss till förmÄn för olika kategorier av mÀnniskor baserat pÄ ett stort antal osynliga signaler.

Scenarier för AI-fördomar.

Det mest uppenbara och skrÀmmande Àr att detta problem kan visa sig nÀr det handlar om mÀnsklig mÄngfald. Nyligen kan det ha förekommit rykten., som Amazon försökte bygga ett system för maskininlÀrning för primÀr urval av jobbkandidater. Eftersom det finns fler mÀn bland Amazons anstÀllda, var exempel pÄ "lyckad rekrytering" ocksÄ oftare av manligt kön, och i urvalet av CV:n som systemet föreslog fanns det fler mÀn. Amazon mÀrkte detta och slÀppte inte systemet i produktion.

Det viktigaste i detta exempel Ă€r att systemet, enligt rykten, föredrog manliga kandidater, trots att kön inte angavs i CV:n. Systemet sĂ„g andra mönster i exemplen pĂ„ "lyckad rekrytering": till exempel kan kvinnor anvĂ€nda speciella ord för att beskriva prestationer, eller ha sĂ€rskilda hobbyer. SjĂ€lvklart visste inte systemet vad "hockey" var, vem "mĂ€nniskor" var, eller vad "framgĂ„ng" var – det utförde bara statistisk analys av texten. Men de mönster som det sĂ„g skulle troligen förbli obemĂ€rkta av en mĂ€nniska, och vissa av dem (till exempel att mĂ€nniskor av olika kön beskriver framgĂ„ng pĂ„ olika sĂ€tt) skulle vi troligen ha svĂ„rt att se, Ă€ven om vi tittade pĂ„ dem.

Det blir vÀrre. Ett maskininlÀrningssystem som mycket bra upptÀcker cancer pÄ ljus hud kan fungera sÀmre pÄ mörk hud, eller tvÀrtom. Inte nödvÀndigtvis pÄ grund av partiskhet, utan för att du troligen behöver bygga en separat modell för en annan hudfÀrg och vÀlja andra egenskaper. MaskininlÀrningssystem Àr inte utbytbara ens i en sÄ snÀv sfÀr som bildigenkÀnning. Du mÄste anpassa systemet, ibland bara genom försök och misstag, för att bra kunna lÀgga mÀrke till egenskaperna i de data som intresserar dig, tills du nÄr önskad noggrannhet. Men du kanske inte mÀrker att systemet Àr 98 % korrekt nÀr det arbetar med en grupp och bara 91 % (Àven om det Àr mer exakt Àn en mÀnsklig analys) med en annan.

Jag har hittills mest anvĂ€nt exempel som rör mĂ€nniskor och deras egenskaper. Det Ă€r detta tema som diskussionen runt detta problem i huvudsak fokuserar pĂ„. Men det Ă€r viktigt att förstĂ„ att partiskhet mot mĂ€nniskor bara Ă€r en del av problemet. Vi kommer att anvĂ€nda maskininlĂ€rning för mĂ„nga saker, och urvalsfelet kommer att vara relevant för alla dessa. Å andra sidan, om du arbetar med mĂ€nniskor, kan datapartiskhet vara orelaterad till dem.

För att förstÄ detta, lÄt oss ÄtervÀnda till exemplet med hudcancer och övervÀga tre hypotetiska sÀtt som systemet kan bryta ner.

  1. OjÀmt fördelad befolkning: en obalanserad mÀngd fotografier av hud av olika nyanser, vilket leder till falskt positiva eller falskt negativa resultat relaterade till pigmentering.
  2. De data som systemet trÀnas pÄ innehÄller en frekvent och ojÀmt fördelad egenskap som inte Àr relaterad till mÀnniskor och saknar diagnostiskt vÀrde: en linjal pÄ fotografier av hudcancer eller grÀs pÄ fotografier av fÄr. I det hÀr fallet kommer resultatet att skilja sig om systemet hittar pixlar av nÄgot som det mÀnskliga ögat skulle identifiera som "linjal".
  3. Data innehÄller en extern egenskap som en mÀnniska inte kan se, Àven om hen letar efter den.

Vad innebĂ€r detta? Vi vet i förvĂ€g att data kan representera olika grupper av mĂ€nniskor pĂ„ olika sĂ€tt och att vi Ă„tminstone kan planera för att söka efter sĂ„dana undantag. Med andra ord finns det mĂ„nga sociala skĂ€l att anta att data om grupper av mĂ€nniskor redan innehĂ„ller en viss fördom. Om vi tittar pĂ„ fotot med en linjal ser vi den linjalen — vi har helt enkelt ignorerat den tidigare, med vetskap om att den inte Ă€r relevant, och glömt att systemet vet ingenting.

Men vad hÀnder om alla dina fotografier av ohÀlsosam hud tas i ett kontor dÀr glödlampor anvÀnds, medan de friska tas under fluorescerande ljus? Vad hÀnder om du efter att ha filmat den friska huden uppdaterade operativsystemet pÄ din telefon innan du fotograferade den ohÀlsosamma huden, och Apple eller Google Àndrade algoritmen för brusreducering nÄgot? En mÀnniska skulle inte mÀrka detta, oavsett hur mycket hen letar efter sÄdana egenskaper. Men systemet för maskininlÀrning ser genast detta och anvÀnder det. Det vet ingenting.

Även om vi har talat om falska korrelationer kan det ocksĂ„ hĂ€nda att bĂ„de data Ă€r korrekta och resultaten Ă€r riktiga, men att du inte vill anvĂ€nda dem av etiska, juridiska eller förvaltningsmĂ€ssiga skĂ€l. I vissa jurisdiktioner fĂ„r man till exempel inte ge kvinnor rabatt pĂ„ försĂ€kringar, trots att kvinnor kanske kör sĂ€krare. Vi kan enkelt förestĂ€lla oss ett system som, nĂ€r det analyserar historiska data, tilldelar kvinnliga namn en lĂ€gre riskkoefficient. Okej, lĂ„t oss ta bort namnen frĂ„n urvalet. Men kom ihĂ„g exemplet med Amazon: systemet kan identifiera kön baserat pĂ„ andra faktorer (Ă€ven om det inte vet vad kön Ă€r, eller vad en bil Ă€r), och du kommer inte att mĂ€rka det förrĂ€n en regulatorbacktrackar och analyserar de erbjudanden du presenterat och Ă„lĂ€gger dig böter.

Till sist antas det ofta att vi endast kommer att anvÀnda sÄdana system för projekt som Àr relaterade till mÀnniskor och sociala interaktioner. SÄ Àr inte fallet. Om du tillverkar gasturbiner vill du förmodligen anvÀnda maskininlÀrning pÄ telemetri som överförs av dussintals eller hundratals sensorer i din produkt (ljud-, video-, temperatur- och andra sensorer genererar data som lÀtt kan anpassas för att skapa en maskininlÀrningsmodell). Hypotetiskt kan du sÀga: "HÀr Àr data om tusen trasiga turbiner som samlades in före deras fel, och hÀr Àr data frÄn tusen turbiner som inte har gÄtt sönder. Bygg en modell som sÀger vad som skiljer dem Ät." Men nu tÀnk dig att Siemens-sensorer finns pÄ 75 % av de dÄliga turbinerna och endast 12 % av de bra (utan samband med felen). Systemet kommer att bygga en modell för att hitta turbiner med Siemens-sensorer. Oops!

Om partiskhet inom artificiell intelligens
Bild — Moritz Hardt, UC Berkeley

Hantering av AI-bias

Vad kan vi göra Ät detta? Vi kan nÀrma oss frÄgan frÄn tre hÄll:

  1. Metodologisk noggrannhet vid insamling och hantering av data för att trÀna systemet.
  2. Tekniska verktyg för att analysera och diagnostisera modellens beteende.
  3. Utbildning, trÀning och försiktighet vid implementering av maskininlÀrning i produkter.

I boken "MÀstaren i adel" av MoliÚre finns det ett skÀmt: en man fÄr veta att litteratur delas in i prosa och dikt, och han upptÀcker med förundran att han hela sitt liv har talat prosa utan att veta om det. Antagligen kÀnner statistiker sig ocksÄ sÄ idag: utan att mÀrka det har de Àgnat sina karriÀrer Ät artificiell intelligens och urvalsfel. Att söka felet i urvalet och oroa sig över det Àr inget nytt problem; vi mÄste helt enkelt nÀrma oss lösningen pÄ det systematiskt. Som nÀmnt ovan Àr det i vissa fall verkligen lÀttare att studera problem relaterade till data om mÀnniskor. Vi utgÄr per definition frÄn att vi kan ha fördomar gentemot olika grupper av mÀnniskor, men att ha fördomar om Siemens-sensorer kan vi knappt ens förestÀlla oss.

Det nya i allt detta Àr förstÄs att mÀnniskor inte lÀngre sysslar med statistisk analys direkt. Det utförs av maskiner som skapar stora, komplexa modeller som Àr svÄra att förstÄ. FrÄgan om transparens Àr en av de grundlÀggande aspekterna av problematiken med partiskhet. Vi Àr rÀdda för att systemet inte bara Àr partiskt, utan att det inte finns nÄgon möjlighet att upptÀcka dess partiskhet, och att maskininlÀrning skiljer sig frÄn andra former av automatisering, som förvÀntas bestÄ av tydliga logiska steg som kan verifieras.

HÀr finns det tvÄ problem. Vi kan kanske ÀndÄ genomföra nÄgon form av granskning av maskininlÀrningssystem. Och att granska vilket annat system som helst Àr faktiskt inte lÀttare.

För det första Àr en av riktningarna inom modern forskning inom maskininlÀrning att hitta metoder för att identifiera viktig funktionalitet hos maskininlÀrningssystem. Samtidigt Àr maskininlÀrning (i sitt nuvarande tillstÄnd) ett helt nytt vetenskapsomrÄde som förÀndras snabbt, sÄ det Àr inte klokt att tro att idag omöjliga saker snart kan bli helt reella. Projektet OpenAI Àr ett intressant exempel pÄ detta.

För det andra, idĂ©n att man kan kontrollera och förstĂ„ beslutsprocessen i befintliga system eller organisationer Ă€r bra i teorin, men inte sĂ„ mycket i praktiken. Att förstĂ„ hur beslut fattas i en stor organisation Ă€r inte enkelt. Även om det finns en formell beslutsprocess, Ă„terspeglar den inte hur mĂ€nniskor faktiskt interagerar, och de sjĂ€lva har ofta inte en logisk systematisk metod för sina beslut. Som min kollega sa Vijay Pande, mĂ€nniskor Ă€r ocksĂ„ svarta lĂ„dor.

Ta tusen personer i flera överlappande företag och institutioner, och problemet blir Ă€nnu mer komplicerat. Vi vet i efterhand att "Space Shuttle" var dömd att splittras vid Ă„terkomsten, och enskilda individer inom NASA hade information som gav dem anledning att tro att nĂ„got dĂ„ligt kunde hĂ€nda, men systemet i stort sett visste inte detta. NASA hade Ă€ven just genomfört en liknande granskning och förlorat den tidigare rymdfĂ€rjan, och Ă€ndĂ„ förlorade man Ă€nnu en — av en mycket liknande anledning. Det Ă€r lĂ€tt att pĂ„stĂ„ att organisationer och mĂ€nniskor följer tydliga logiska regler som kan kontrolleras, förstĂ„s och förĂ€ndras — men erfarenheten sĂ€ger nĂ„got annat. Det Ă€r "Gosplan-misstaget».

Jag jĂ€mför ofta maskininlĂ€rning med databaser, sĂ€rskilt relationella — en ny fundamentalt teknologi som förĂ€ndrade möjligheterna inom datavetenskap och vĂ€rlden omkring den, som blev en del av allt, som vi konstant anvĂ€nder utan att vara medvetna om det. Även databaser har problem som liknar dessa: systemet kan vara byggt pĂ„ felaktiga antaganden eller dĂ„liga data, men det Ă€r svĂ„rt att upptĂ€cka, och de som anvĂ€nder systemet kommer att göra vad det sĂ€ger utan att ifrĂ„gasĂ€tta. Det finns mĂ„nga gamla skĂ€mt om skattemyndighetens anstĂ€llda som felaktigt skrev ditt namn en gĂ„ng, och att övertyga dem att rĂ€tta till felet Ă€r mycket svĂ„rare Ă€n att verkligen Ă€ndra ditt namn. Man kan tĂ€nka pĂ„ detta pĂ„ olika sĂ€tt, men det Ă€r oklart vad som Ă€r bĂ€st: som ett tekniskt problem i SQL, eller som ett fel i en Oracle-version, eller som ett misslyckande hos byrĂ„kratiska institutioner? Hur svĂ„rt Ă€r det att hitta ett misstag i processen som ledde till att systemet inte har en funktion för att rĂ€tta stavfel? Kunde det ha förstĂ„tts innan folk började klaga?

Detta illustreras Ànnu enklare genom historier om förare som pÄ grund av förÄldrade data i navigatörer kör ner i floder. Okej, kartorna mÄste uppdateras kontinuerligt. Men hur mycket skuld har TomTom för att din bil dras ut i havet?

Jag sÀger detta för att ja - fördomar i maskininlÀrning kommer att skapa problem. Men dessa problem kommer att likna de vi har stÀllts inför tidigare, och de kan mÀrkas och lösas (eller inte) ungefÀr lika bra som vi har lyckats med tidigare. DÀrför Àr scenariot dÀr AI-fördomar skadar osannolikt att intrÀffa med ledande forskare som arbetar inom stora organisationer. Troligtvis kommer nÄgon obetydlig teknisk entreprenör eller programvaruleverantör att skriva nÄgot hastigt, med okÀnda open-source-komponenter, bibliotek och verktyg. Och den olycklige kunden kommer att gÄ pÄ frasen "artificiell intelligens" i produktbeskrivningen och, utan att stÀlla för mÄnga frÄgor, dela det med sina lÄgavlönade arbetare, och ÄlÀgga dem att göra vad AI sÀger. Det Àr precis vad som hÀnde med databaser. Detta Àr inte ett problem med artificiell intelligens, och inte ens ett problem med programvara. Det Àr en mÀnsklig faktor.

Slutsats

MaskininlÀrning kan göra allt som du kan lÀra en hund - men du kan aldrig vara sÀker pÄ vad du faktiskt har lÀrt hunden.

Jag fĂ„r ofta kĂ€nslan av att termen «artificiell intelligens» bara hindrar oss frĂ„n att delta i diskussioner som dessa. Den hĂ€r termen ger en falsk uppfattning om att vi faktiskt har skapat den — denna intelligens. Att vi Ă€r pĂ„ vĂ€g mot HAL9000 eller Skynet — till nĂ„got som faktiskt förstĂ„r. Men nej. Det Ă€r bara maskiner, och det Ă€r mycket mer korrekt att jĂ€mföra dem, lĂ„t oss sĂ€ga, med en tvĂ€ttmaskin. Den klarar tvĂ€tten mycket bĂ€ttre Ă€n en mĂ€nniska, men om du lĂ€gger disken istĂ€llet för klĂ€der i den kommer den att
 tvĂ€tta den. Disken blir till och med ren. Men det blir inte det du hade förvĂ€ntat dig, och detta kommer att hĂ€nda inte för att systemet har nĂ„gra fördomar mot disken. TvĂ€ttmaskinen vet varken vad en disk Ă€r eller vad klĂ€der Ă€r — det Ă€r bara ett exempel pĂ„ automatisering, konceptuellt inte annorlunda Ă€n hur processer automatiserades tidigare.

Oavsett vad Ă€mnet handlar om — om maskiner, flygplan eller databaser — kommer dessa system att vara bĂ„de mycket kraftfulla och mycket begrĂ€nsade. De kommer helt att bero pĂ„ hur mĂ€nniskor anvĂ€nder dessa system, oavsett om deras avsikter Ă€r goda eller dĂ„liga och hur vĂ€l de förstĂ„r deras funktion.

DĂ€rför Ă€r det helt fel att sĂ€ga att «artificiell intelligens Ă€r matematik, sĂ„ den kan inte ha nĂ„gra fördomar». Men det Ă€r lika felaktigt att pĂ„stĂ„ att maskininlĂ€rning «Àr subjektiv av sin natur». MaskininlĂ€rning hittar mönster i data, och vilka mönster den hittar beror pĂ„ datan, och datan beroende av oss. Liksom vad vi gör med den. MaskininlĂ€rning gör faktiskt nĂ„gra saker mycket bĂ€ttre Ă€n vi gör — men hundar, till exempel, Ă€r mycket effektivare Ă€n mĂ€nniskor pĂ„ att upptĂ€cka droger, vilket inte ger nĂ„gon anledning att anvĂ€nda dem som vittnen och döma pĂ„ grundval av deras vittnesmĂ„l. Och hundar Ă€r för övrigt mycket smartare Ă€n nĂ„got system för maskininlĂ€rning.

ÖversĂ€ttning: Diana Lezjkaja.
Redigering: Alexej Ivanov.
Gemenskap: @PonchikNews.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster