mboost-dp1

Lyric Semiconductor

Ny processor regner i sandsynligheder

- Via The Inquirer - , redigeret af kasperfmn , indsendt af Dreadnought

Ikke alt behøver at være 0 eller 1 når det kommer til computere, hvilket firmaet Lyric Semiconductor satser på ved udviklingen af en ny chip, hvor man regner med sandsynligheder.

I stedet for at angive et svar som enten eller – 0 eller 1 – så anvender firmaet en analogløsning, hvor de måler en spænding i 256 trin, hvilket angiver sandsynligheden. Fordelen ved denne metode er kompleksiteten i processoren, der ved denne type beregninger er langt mere simpel end en ren digital processor, der skal udføre samme opgave.

Firmaet, der får økonomisk støtte fra DARPA, og udspringer fra et hold af forskere hos MIT (Massachusetts Institute of Technology), forventer at have en egentlig sandsynlighedsprocessor klar i 2013, der vil kunne bruges til f.eks. spamfiltre.

I første omgang har de lavet en chip til brug i flashram-baserede enheder, der skal bruges til fejlkorrigering. Chippen adskiller sig fra konkurrenterne ved blot at bestå af 3 % af de kredsløb der normalt anvendes og kun forbruge 8 % så meget energi.





Gå til bund
Gravatar #1 - banzai123
23. aug. 2010 11:52
Det lyder meget fornuftigt, men jeg ser et problem med denne type processor.
Hvis den måler/regner ud fra et sandsynlighedsprincip, ville den så ikke give forskellige svar på det samme spørgsmål?

Det ville være ret upraktisk i flere sammenhænge.
Gravatar #2 - p1x3l
23. aug. 2010 11:58
sandsynligt at det spam vis det kommer fra svigermor ?
Gravatar #3 - MOA
23. aug. 2010 12:23
Hvad er sandsynligheden for den svarer 42?
Gravatar #4 - D_V
23. aug. 2010 12:26
#3

Det er vel 1/256 når den har 256 trin....
Gravatar #5 - Djernis34
23. aug. 2010 12:28
MOA (3) skrev:
Hvad er sandsynligheden for den svarer 42?

Ikke stor, da der ikke er tale om en improbability-processor ;)
Gravatar #6 - Bean
23. aug. 2010 12:45
I stedet for at angive et svar som enten eller - 0 eller 1 - så anvender firmaet en analogløsning, hvor de måler en spænding i 256 trin, hvilket angiver sandsynligheden.

Jeg troede netop at det var DET der var grunden til at man bruger to-tals-systemet. Det er ganske enkelt for svært at have for mange analoge tilstande, når man snakker strøm. 0 og 1 er derfor gode.

Hvordan kan 256 analoge tilstande være pålidelige?
Gravatar #7 - Anders Fedеr
23. aug. 2010 12:55
Bean (6) skrev:
I stedet for at angive et svar som enten eller - 0 eller 1 - så anvender firmaet en analogløsning, hvor de måler en spænding i 256 trin, hvilket angiver sandsynligheden.

Jeg troede netop at det var DET der var grunden til at man bruger to-tals-systemet. Det er ganske enkelt for svært at have for mange analoge tilstande, når man snakker strøm. 0 og 1 er derfor gode.

Hvordan kan 256 analoge tilstande være pålidelige?

Måske er idéen netop at pålideligheden ikke er nær så vigtig når man bruger analoge tilstande til at repræsentere netop sandsynligheder? Der er jo ofte lidt "give and take" involveret alligevel - om sandsynligheden beregnes til at være 42/256 eller 43/256 betyder nok knap så meget, som hvis et alfanumerisk tegn i f.eks. et password pludselig vendes fra "a" til "b".
Gravatar #8 - Remmerboy
23. aug. 2010 12:56
Bean (6) skrev:

Hvordan kan 256 analoge tilstande være pålidelige?

det er nok derfor de kalder den sandsyndligheds cpu, da sandsynlighed ikke er facit
Gravatar #9 - Bean
23. aug. 2010 12:59
#7 + #8:
Det lyder rigtigt nok, men hvis de skal bruge så mange tal -- jeg går ud fra at det ikke er en ja/nej sandsynlighed, som vi regnede med i Gymnasiet!! -- så bliver pålideligheden jo hurtigt dalende. Tænk hvis afvigelsen er 0,5%, men man skal lave 100.000 udregninger !! Av for en skævert.

Enten det, eller også forstår jeg ikke princippet.
Gravatar #10 - Montago.NET
23. aug. 2010 13:02
#0 + #9

Man må vel gå ud fra at processoren har nogle indbyggede sandsynligheds modeller...

jeg kan ikke se hvordan man skal kunne bruge den til alm CPU tasks...
Gravatar #11 - mgX
23. aug. 2010 13:05
Halløj kvantemekanik ;)

Tænk på floating points... De er heller ikke altid lige præcise så snart man kommer ud i for mange decimaler.

Jeg går stærkt ud fra at denne cpu ikke er tiltænkt integer operationer, men nærmere ting der ikke har brug for så stor præcision. Kunne forestille mig at den ville være usædvanligt god som FPU (evt. bruges til 3D grafik og physics), specielt da den sikkert kan gøre skidtet en del hurtigere med meget lavere energiforbrug.
Gravatar #12 - Faergemeister
23. aug. 2010 13:05
Well, der er flere områder hvor man laver software der i princippet bare gætter, fx nogle af koncepterne bag neurale netværk og anvendelserne deraf. Den slags software vil nok sagtens kunne anvende denne type CPU.
Gravatar #13 - Kantraz
23. aug. 2010 13:10
Umiddelbart lyder det mest som en cpu, som Folding applikationer ville have glæde af, i og med at det er sandsynlighed, istedet for "brute-force" som er hvad jeg forstår de almindelige cpu'er gør brug af ved folding :)
Gravatar #14 - Anders Fedеr
23. aug. 2010 13:16
Bean (9) skrev:
#7 + #8:
Det lyder rigtigt nok, men hvis de skal bruge så mange tal -- jeg går ud fra at det ikke er en ja/nej sandsynlighed, som vi regnede med i Gymnasiet!! -- så bliver pålideligheden jo hurtigt dalende. Tænk hvis afvigelsen er 0,5%, men man skal lave 100.000 udregninger !! Av for en skævert.

Så kan man måske udføre beregningen mere end en gang eller lignende for at opnå redundans? Heltals-operationer er jo sygeligt præcise i en almindelig digital processor, også når det ikke er strengt nødvendigt - som jeg ser det giver en chip som denne programmøren større frihed til at vælge et trade-off mellem præcision og performance, der passer til anvendelsen.
Gravatar #15 - mcmini
23. aug. 2010 13:17
Nedern at spille CS med sådan en processor, hvis den gætter hvor ens skud rammer :D.
Gravatar #16 - spejlkugle
23. aug. 2010 13:27
Tag den her i stedet for den Inquirer nyhed der bliver linket til:

http://arstechnica.com/hardware/news/2010/08/probabilistic-processors...

Der er en lidt mere teknisk forklaring på hvordan den virker.
Gravatar #17 - spejlkugle
23. aug. 2010 13:34
mcmini (15) skrev:
Nedern at spille CS med sådan en processor, hvis den gætter hvor ens skud rammer :D.


Der er faktisk lidt af sådan noget i CS som en del af deres lag-compensation og recoil implementation. Men det bliver self beregnet digitalt :)
Gravatar #18 - BeLLe
23. aug. 2010 13:46
#15: mcmini skrev:
Nedern at spille CS


Fixed
Gravatar #19 - gnаrfsan
23. aug. 2010 13:46
Så mangler vi bare en improbability processor, så vi kan lavet et improbability drive!
Gravatar #20 - buchi
23. aug. 2010 14:12
Well, som jeg forstår det, giver denne processor en række instrukser, der gør implementering af algoritmer til beregning af sandsynlighed lettere.

Grunden til at man bruger 2 tals-system i computere (binær talsystem) er fordi man kan bruge boolsk algebra, der gør det ganske nemt at implementere de regneregler vi bruger til daglig ( + - * /) og fordi teorien bag er lettere = mere overskueligt.
Gravatar #21 - Faergemeister
23. aug. 2010 14:16
#20: Nej det er ej. Grunden til at normale cpu'er er binære, er at det er nemmere at vurdere om en spænding svarer til 0 eller 1 på den måde.
Gravatar #22 - Anders Fedеr
23. aug. 2010 14:33
spejlkugle (16) skrev:
Tag den her i stedet for den Inquirer nyhed der bliver linket til:

http://arstechnica.com/hardware/news/2010/08/probabilistic-processors...

Der er en lidt mere teknisk forklaring på hvordan den virker.

Kaster ikke rigtig lys over #6's meget relevante spørgsmål. Men de skriver da:
Linket skrev:
The technology allows a resolution of about 8 bits; that is, they can discriminate between about 2^8 = 256 different values (different probabilities) between 0 and VDD.

...hvilket må fortolkes som at chippen ikke kan repræsentere 256 diskrete tilstande pålideligt.
Gravatar #23 - buchi
23. aug. 2010 14:37
Faergemeister (21) skrev:
#20: Nej det er ej. Grunden til at normale cpu'er er binære, er at det er nemmere at vurdere om en spænding svarer til 0 eller 1 på den måde.


Jamen fint :D

Jeg stiller dig en udfordring:

Lav en kredsløb, der kan lægge tal af vilkårlig base sammen. (vi kan starte med bare at sige trinære). Du skal anvende n spændingstilstande og må ikke bruge binær repræsentation :)

Jeg indrømmer gerne jeg tager fejl, hvis det modsatte bliver bevist :)
Gravatar #24 - themuss
23. aug. 2010 14:38
fint nok, men kan den køre crysis?
Gravatar #25 - Remmerboy
23. aug. 2010 14:43
Så kan man tage en bærbar med til hestevæddeløb og beregne sandsynligheden for hvilket hest der vinder. Garanteret derfor den er blevet opfundet da der er 8 heste i et væddeløb
Gravatar #26 - Athinira
23. aug. 2010 14:45
themuss (24) skrev:
fint nok, men kan den køre crysis?


Sandsynligvis!
Gravatar #27 - onetreehell
23. aug. 2010 17:38
buchi (23) skrev:
Jamen fint :D

Jeg stiller dig en udfordring:

Lav en kredsløb, der kan lægge tal af vilkårlig base sammen. (vi kan starte med bare at sige trinære). Du skal anvende n spændingstilstande og må ikke bruge binær repræsentation :)

Jeg indrømmer gerne jeg tager fejl, hvis det modsatte bliver bevist :)

eh
Gravatar #28 - runeks
23. aug. 2010 19:16
Så vidt jeg kan forstå på videoen er det her ikke en CPU, og det er ikke meningen at den skal erstatte CPU'en. Det er en co-processor, ligesom fx en GPU, som er specialiseret i at udregne sandsynligheder, og kan gøre dette meget bedre end digital chip kan gøre det. Den fylder mindre, bruger mindre strøm og koster mindre end en digital chip der kan det samme.

Bean (6) skrev:
Jeg troede netop at det var DET [pålidelighed] der var grunden til at man bruger to-tals-systemet. Det er ganske enkelt for svært at have for mange analoge tilstande, når man snakker strøm. 0 og 1 er derfor gode.

Hvordan kan 256 analoge tilstande være pålidelige?

Et definitivt ja eller nej er selvfølgelig godt at have til nogle operationer. Jeg tror fx ikke det kan lade sig gøre at bruge denne sandsynlighedschip til at lave en computer med.
Sagen er bare den, at vi ikke altid har brug for et definitivt ja eller nej, fordi dette simpelthen ikke beskriver en given situation fyldestgørende nok (verden er ikke sort/hvid osv.). Til at tilfredsstille dette formål, har vi indtil nu, implementeret sandsynlighedsberegning i digitale kredsløb. Problemet med dette er at det kræver mange beregninger (og dermed strøm) og plads at gøre dette vha. digitale kredsløb. Denne chip kan udføre den samme opgave som et digitalt kredsløb der regner sandsynlighed på kortere tid, brugende mindre plads og mindre strøm.
Gravatar #29 - Josso
23. aug. 2010 19:21
mcmini (15) skrev:
Nedern at spille CS med sådan en processor, hvis den gætter hvor ens skud rammer :D.


Jeg tror at det vil være en fordel for mig. :p
Gravatar #30 - onetreehell
23. aug. 2010 20:24
#28 et al.
Ham der #6 har ret, den eneste rigtige grund til man bruger binært er fordi det er det der er mest stabilt/billigt i hardware. ish

Jeg gider ikke høre andre teorier der er blevet hevet ud af røven.
Gravatar #31 - marty
23. aug. 2010 21:03
Som jeg forstår det, handler det også om at minimere benyttelsen af 0/1-transistorer, når man regner på floating points. Det de siger i videoen er vel, at istedet for at bruge en masse bits på at opnå en-eller-anden præcision (say, 50 decimaler), så kan de ramme "nogenlunde" samme float med kun 1 bit. Så længe man kender præcisionen, kan man altid korrigere og benytte endnu en sandsynlighedsbit for at opnå bedre præcision.

mcmini (15) skrev:
Nedern at spille CS med sådan en processor, hvis den gætter hvor ens skud rammer :D.


Jeg synes faktisk #15 rammer hovedet på sømmet: Nej, det er ikke nederen, hvis bare præcisionen på gættet er godt nok. CS bruger sikkert komma-tal til skudbanerne, men hvis der skal presses 32bit gennem processoren for at angive retningen med 24 betydende cifre (bare et gæt) kan det være at sandsynligehedsprocessoren kan klare det med 2 bits, der hver især rammer nogenlunde i omegnen, men tilsammen måske giver en bedre præcision.

Sådan en processor må tilgengæld stinke til integer-beregninger.
Gravatar #32 - buchi
23. aug. 2010 21:06
marty (31) skrev:

Jeg synes faktisk #15 rammer hovedet på sømmet: Nej, det er ikke nederen, hvis bare præcisionen på gættet er godt nok. CS bruger sikkert komma-tal til skudbanerne, men hvis der skal presses 32bit gennem processoren for at angive retningen med 24 betydende cifre (bare et gæt) kan det være at sandsynligehedsprocessoren kan klare det med 2 bits, der hver især rammer nogenlunde i omegnen, men tilsammen måske giver en bedre præcision.

Sådan en processor må tilgengæld stinke til integer-beregninger.


Jeg er rimelig sikker på at CS anvender vektor-regning, udelukkende ved brug af heltal :)
Gravatar #33 - 1000tusind
23. aug. 2010 21:08
Det er meget spændende med den slags chips. Hjernens neuroner fungerer også på et lignende princip, hvor der er en række inputs, som måske/måske ikke trigger et output. Groft sagt.

Vi skal måske bare til at vænne os til at stille andre spørgsmål til computeren end vi er vant til.

Hvis du f.eks. spørger en alm. computer om hvor lang tid det tager at køre fra Århus til København, så får du et meget præcist svar baseret fra en masse oplysninger om hastighed og afstand mv.

Men som menneske ved du jo godt at svaret ikke passer. Der kommer jo altid en idiot som spærrer på motorvejen, en turist som sidder fast i brobizzen, et rødt lys og lidt vejarbejde. Dvs. at der skal tages højde for en masse sandsynligheder/tilfældigheder, hvis du vil have et bedre svar.

Jeg tror nu ikke umiddelbart at denne chip er voldsomt revolutionerende, men den er vel et skridt på vejen, hvis vi skal tænke udover den sædvanlige ja/nej tænkning.
Gravatar #34 - marty
23. aug. 2010 21:09
buchi (32) skrev:

Jeg er rimelig sikker på at CS anvender vektor-regning, udelukkende ved brug af heltal :)


Ah ja, ok dårligt eksempel - ikke den store spil-programmør selv. Men er nu stadig ret sikker på, at processoren er tiltænkt floating point operations :)
Gravatar #35 - knasknaz
23. aug. 2010 21:57
Det her princip er slet ikke nyt. Windows fungerer sådan inden i: Alle bits svæver et sted mellem 1 og 0. Ja, man kan bedst forklare det ved at sætte ordet "næsten" ind i alle sætninger, der har med Windows at gøre:

"Du har næsten installeret din printerdriver."
"Du er nu næsten på internettet."
"Din USB stick kan næsten læses."

- Find selv på flere...
Gravatar #36 - themuss
23. aug. 2010 22:44
knasknaz (35) skrev:
Det her princip er slet ikke nyt. Windows fungerer sådan inden i: Alle bits svæver et sted mellem 1 og 0
Så så nu ikke skræmme pøblen vel... Det her er totalt futuretech!!
Gravatar #37 - PaulPeterPorges
23. aug. 2010 23:04
Det er praktisk i søgemaskiner, som i forvejen forsimpler problemer til sandsynlighed eller fuzzy logik. Graden af en hjemmesides opfyldelse af en række søgekriterier kan sagtens måles ud fra en næsten vurdering. Som det også bruges i Baysian networks o.a. neural-lignende netværk.

Det er også en misforståelse at det er upræcist, fordi det er probabilistisk. Sandsynligheder har altid samme svar, med samme udgangspunkt.

Som co-processor kan dette sætte farten op på spændende ting som AI i spil, søgealgoritmer, intelligente agenter, vejrprognoser, kriminalitetsforebyggelse, osv.

Desuden har man kendt til udvidede logiksystemer siden '40'erne, se: http://en.wikipedia.org/wiki/Ternary_logic

Det er hele det matematiske grundlag. Læg mærke til at der ikke er noget tilfældigt i udfaldet af regneoperationer.

Forresten så er binær logik meget ældre:
http://en.wikipedia.org/wiki/De_Interpretatione
Gravatar #38 - Anders Fedеr
24. aug. 2010 04:18
PaulPeterPorges (37) skrev:
Det er også en misforståelse at det er upræcist, fordi det er probabilistisk. Sandsynligheder har altid samme svar, med samme udgangspunkt.

Diskussionen om præcision handler ikke om at det er probabilistisk, men om at det er analogt. At nogen i starten af tråden tror at probabilistisk betyder flere svar og lign. er så noget andet.
Gravatar #39 - banzai123
24. aug. 2010 05:48
buchi (32) skrev:
marty (31) skrev:

Jeg synes faktisk #15 rammer hovedet på sømmet: Nej, det er ikke nederen, hvis bare præcisionen på gættet er godt nok. CS bruger sikkert komma-tal til skudbanerne, men hvis der skal presses 32bit gennem processoren for at angive retningen med 24 betydende cifre (bare et gæt) kan det være at sandsynligehedsprocessoren kan klare det med 2 bits, der hver især rammer nogenlunde i omegnen, men tilsammen måske giver en bedre præcision.

Sådan en processor må tilgengæld stinke til integer-beregninger.


Jeg er rimelig sikker på at CS anvender vektor-regning, udelukkende ved brug af heltal :)


Altså, nu har jeg ikke set på koden i spillet, men jeg kan fortælle at når du fx bruger plugins som Eventscripts og SourceMod, og laver test-plugins til at fortælle dig spillernes præcise positioner, angiver den svaret som floating point.

Så måske kunne denne slags processor også bruges i 3d-computerspil?
Gravatar #40 - Rabonzo
24. aug. 2010 06:59
Uden at være sikker i min sag overhovedet, så ville jeg da tro sådan en fætter kunne bruges til bruteforce / dictionary attacks bedre end en standard CPU hvis den regner efter sansynligheder istedet for at gå slavisk til værks? Hvis de to kunne køre som helhed (altså en standard CPU og den nye CPU), ville man så ikke kunne få en pænt hurtig maksine til at cracke passwords?
Gravatar #41 - PaulPeterPorges
24. aug. 2010 07:01
Anders Feder (38) skrev:
Diskussionen om præcision handler ikke om at det er probabilistisk, men om at det er analogt. At nogen i starten af tråden tror at probabilistisk betyder flere svar og lign. er så noget andet.


Netop, det var den teori jeg angreb.

De har allerede lavet en chip til flash-ram, så teknologien virker. De mangler bare at opskalere den til større processorer.
Gravatar #42 - runeks
24. aug. 2010 11:47
I stedet for at angive et svar som enten eller - 0 eller 1 - så anvender firmaet en analogløsning, hvor de måler en spænding i 256 trin, hvilket angiver sandsynligheden.

Hmm. At måle en spænding i 256 trin er vel netop ikke analogt, det er diskret, og dermed digitalt, så vidt jeg kan se.

Når der måles om en bit er 1 eller 0, er det jo også en ("analog") spænding, - som varierer lidt fra tid til anden - men denne spænding måles så kun i 2 trin, og udfra dette bestemmes det om den er 1 eller 0.

http://en.wikipedia.org/wiki/Discrete_signal#Digit...
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login