Hlavní stránka Hardware Procesory, paměti Rozhovor: procesor Cell a rozpoznávání hlasu
Rozhovor: procesor Cell a rozpoznávání hlasu
autor: d@rI( , publikováno 9.9.2008
Seznam kapitol
1. Část první
2. Část druhá
Rozhovor: procesor Cell a rozpoznávání hlasu

Málokdo nejspíš tuší, že v Praze sídlí tým vývojářů společnosti IBM, který se zabývá problematikou rozpoznávání hlasu. Výzkumná skupina velkým dílem přispívá k vývoji pokročilého programu IBM Embedded ViaVoice a jedním z jejích členů je i Bořivoj Tydlitát, který nám laskavě poskytl rozhovor.


Můžete zjednodušeně vysvětlit princip počítačového rozpoznávání hlasu, na kterém pracujete?

Moderní statistické metody rozpoznávání řeči byly objeveny v 80. letech. Jsou založeny na tom, že k rozpoznávanému akustickému signálu hledáte optimální cestu pravděpodobnostním modelem, který má podobu grafu. Struktura a numerické hodnoty v takovém modelu jsou zkombinovány z několika dílčích modelů: Jeden popisuje akustiku jednotlivých hlásek, další pak výslovnost slov a třetí nějaké vymezení toho, jak mohou vypadat přijatelné věty. Akustický model se trénuje na mnoha hodinách záznamu řeči různých mluvčích. Model výslovnosti je obvykle jen slovník, který obsahuje výslovnost slov ve fonetické abecedě. Třetí model nazýváme jazykový model. Může to být pouhý seznam platných vět nebo formální gramatika – soubor pravidel, která tyto věty popisují. Ale také to může být statistický model, který popisuje pravděpodobnost různých kombinací slov a vytváří se z rozsáhlých souborů textu. Samozřejmě, celé je to poměrně složité, ale pro zájemce je k dispozici řada dobrých učebnic, včetně jedné české, a také existuje volně šiřitelný software, který tyto metody implementuje.

V čem spočívá největší úskalí při počítačovém rozpoznávání hlasu?

Rozhovor: procesor Cell a rozpoznávání hlasuJedna velká obtíž spočívá ve velké variabilitě lidské řeči. Každý máme jiný hlas a vlastní způsob vyjadřování – charakteristický slovník, výslovnost i intonaci řeči, díky kterým můžeme druhého i poznat po hlase. I řeč jednoho mluvčího se mění v závislosti na sociálních okolnostech, emocích, prostředí, okolním hluku a podobně. Druhý okruh problémů s řečí je dán její velkou mírou závislosti na kontextu. Třeba výslovnost hlásek se výrazně mění podle toho, jaké hlásky je předcházejí nebo následují. Nebo spoustu věcí v řeči vynecháváme – hlásky, slova i části vět. Předpokládáme, že posluchač si je domyslí s užitím toho, co ví, nebo co bylo řečeno dříve. Lidská řeč je vlastně velmi zašuměný komunikační kanál, který svou funkci plní spolehlivě jen díky velké míře redundance a komplikovaných opravných a ověřovacích protokolů, jež jsou součástí běžného lidského dialogu. Spolehlivé rozpoznání řeči tedy není zcela oddělitelné od porozumění tomu, o čem se mluví.

Společně s týmem mezinárodních odborníků jste pracoval na projektu využití procesoru Cell právě pro rozpoznávání hlasu. Cell údajně dokáže rozpoznávat až tisíce různých hlasových kanálů najednou. Čím je Cell natolik výjimečný a jaký je vlastně jeho potenciál?

Procesor Cell Broadband Engine je výsledkem společného projektu firem Sony Computer Entertainment, Toshiba a IBM. Jde o radikálně novou architekturu, která dosahuje vysokého výpočetního výkonu a datové propustnosti poněkud odlišnými metodami, než klasické procesory. Cell je vlastně heterogenní multiprocesorový systém, kde na jediné kruhové sběrnici je umístěn jeden procesor s architekturou Power (PPE) a 8 jednotek SPE (synergistic processing element). Procesor PPE je obvykle určen pro operační systém a plánování úloh, jednotky SPE pak tvoří základ výpočetní síly Cellu. Každý SPE je samostatným systémem – obsahuje procesor s vektorovou architekturou o šířce slova 128 bit, velmi rychlý blok paměti o velikosti 256 kB a inteligentní řadič přímého přístupu do paměti (DMA), který slouží ke komunikaci s externí pamětí RAM, pro vstup a výstup, i pro přenos dat mezi SPE navzájem. Tato architektura vychází z poznatku, že vzhledem k nepoměru mezi rychlostí soudobých procesorů a operačních pamětí RAM už operační paměť vlastně není pamětí s „náhodným“ přístupem, ale svými časovými charakteristikami se blíží blokovým zařízením jako je třeba disk. Klasické procesory se snaží tento fakt skrýt pomocí hierarchie vyrovnávacích (cache) pamětí. Naproti tomu návrh jednotky SPE počítá s tím, že aplikace ví předem, že určitý blok dat bude potřeba, a včas si jeho přenos do rychlé paměti SPE „objedná“ od kanálu DMA. Podobný problém se objevuje u kolony (pipeline) procesoru zpracovávající instrukce – každé větvení programu může znamenat ztrátu fronty rozpracovaných instrukcí, čemuž se klasické procesory brání pomocí komplikované předpovídací logiky.Rozhovor: procesor Cell a rozpoznávání hlasu SPE nic takového nemá, předpověď větvení je ovládána aplikací. SPE má ještě řadu dalších zjednodušení: má pouze vektorové operace, adresuje paměť jedině po 128-bitových slovech. Naproti tomu má řadu netypických instrukcí: třeba přibližnou aritmetiku, permutace obsahu vektorů nebo ovládání DMA přenosu. Cell se svými osmi SPE může reálně provádět 32 aritmetických operací na takt hodin (3.2 GHz u současných modelů). Tím převyšuje ostatní soudobé procesory zhruba o řád. Nasazení procesoru Cell může být velmi efektivní všude tam, kde je možné úlohu rozdělit mezi více procesorů, lze využít vektorové aritmetiky v pevné nebo plovoucí čárce a úloha má předvídatelné vzory přístupu k paměti a větvení kódu. Kromě grafických, multimediálních a herních aplikací, které byly prvotní motivací pro vznik Cellu, je to také řada úloh z oblasti zpracování signálu a obrazu, fyzikálních simulací, medicínského zobrazování, analýzy seismických dat a podobně. Například superpočítač Roadrunner, v současnosti nejvýkonnější na světě, který společnost IBM postavila pro americkou vládní laboratoř v Los Alamos, má hybridní architekturu kombinující procesory AMD Opteron a Cell.

Jaké jsou možnosti průmyslového využití Cellu s ohledem na rozpoznávání hlasu?

V oblasti rozpoznávání řeči na Cellu zatím bylo vykonáno poměrně málo. Společně se spolupracovníky z kalifornské Lawrence Livermore National Laboratory jsme loni  na toto téma publikovali práci. Její výsledky jsou slibné, ale k rozpoznávači, který by běžel na Cellu a byl prakticky použitelný třeba pro telefonii, je ještě dlouhá cesta. Za zmínku jistě ale stojí, že na katedře počítačů ČVUT vzniká ve spolupráci s IBM projekt volně šiřitelné knihovny algoritmů pro Cell. „CIV Toolkit“ je zaměřen na oblast umělé inteligence, statistického modelování a rozpoznávání řeči.


V současné době je Cell především využíván v herní konzoli PlayStation 3. Odhaduje se, že vývojáři využívají pouze desítky procent výkonu Cellu. Jak moc složitá je architektura procesoru Cell z pohledu běžného programátora?


Rozhovor: procesor Cell a rozpoznávání hlasuDíky modularitě Cellu není tak obtížné jeho architektuře porozumět. Jednotka PPE se programuje v podstatě jako každý jiný procesor. Programátor jednotek SPE si ale musí poradit minimálně s několika okruhy problémů, především jejich architektura je hodně exotická: vektorová aritmetika, paměť adresovaná po slovech, DMA přenosy – kódování pro SPE se trochu se podobá programování pro některé signálové procesory (DSP).  Dále program pro SPE je hodně „strojově orientovaný“, i když se píše v C – programátor musí řešit „ručně“ věci, o které se u jiných procesorů stará hardware. Komplikovanou úlohou může být transformace algoritmů do podoby, která je pro Cell vhodná. A konečně dosažení maximálního výkonu znamená nejen efektivní kód, ale i optimalizaci komunikace mezi SPE, zacházení s kruhovou sběrnicí, přístupu k paměti a jejímu řadiči, vstupu a výstupu atd. Na druhé straně, programování Cellu je usnadněno tím, že dokumentace i vývojové nástroje jsou k dispozici zdarma a v IBM i jinde vznikají neustále nové nástroje, které dovolují programovat Cell na vyšší úrovni. Příkladem může být projekt inteligentního překladače Octopiler z laboratoří IBM nebo originální přístup, který ve svých vývojových prostředcích zvolila kanadská firma RapidMind.

Pokud zabrousíme trochu do science fiction, myslíte si, že je možné naučit počítač "chápat" lidskou hovorovou řeč na takové úrovni, aby bylo možné konverzovat s počítačem podobně jako například ve známých filmech Vesmírná Odyssea a nikoliv pouze sadou přesně nastavených příkazů?

Již dnes probíhá vývoj ovládání hlasem od pevných frází k přirozenější, volnější struktuře příkazů. Příslušné technologie jsou součástí i našich produktů. Pro technologii skutečného dialogu se strojem ale zatím chybí i teoretické základy. Myslím, že tento obor na své velké myšlenky teprve čeká.

Rozhovor: procesor Cell a rozpoznávání hlasu
V nejbližší budoucnosti čeká podle všeho počítačový svět obrovská míra paralelizace. Intel například představil platformu Terascale, která využívá až tisíce procesorových jader. Jak se na tuto problematiku díváte vy, resp. IBM?

Masivně paralelní systémy již nějakou dobu představují cestu k vyšším výkonům, protože dalšímu výraznému zvyšování hodinových kmitočtů procesorů stojí v cestě vážné fyzikální a technologické překážky. Všechny soudobé superpočítače se již několik let ubírají touto cestou. Objevuje se zde řada zajímavých problémů nejen z oblasti hardware, ale i systémového software, metod vývoje, optimalizace a automatické paralelizace aplikací a podobně. Budoucí informatici jistě nebudou mít nouzi o práci, která vyžaduje přemýšlení a tvořivost.

Děkujeme za rozhovor a přejeme mnoho úspěchů v další práci. Za PCTuning kladl otázky autor článku, Jan Horčík



Tagy: Borivoj  Tydlidat  rozpoznavani hlasu  voice recognition  procesor  Cell  


 
Komentáře k článku
RSS
Pouze registrovaní uživatelé mohou přidat komentář!
9.9.2008 09:29:49   212.111.4.xxx 474
WOW, jen víc takových článků.
9.9.2008 10:04:01   193.86.31.xxx 914
Ale rad bych trochu zaprudil s dotazem na test levnejch desek s P45...?
Clanek si prectu jakmile budu mit cas (:
9.9.2008 11:08:46   217.195.161.xxx 104
Obr nam poletuje nekde pracovne po Evrope, takze zatim nestiha. Ale desky ma, vetsina testu je hotova. Jakmile se vrati, bude na tom pracovat. Urcite :-)
9.9.2008 14:34:06   193.86.31.xxx 93
Diky za info, ja ze znama me uz tlaci, at ji donavrhnu novej pocitac a ja cekam jak na smilovani (:
9.9.2008 11:27:40   195.80.172.xxx 194
nic v zlom, ale najprv som si podla toho mena myslel, ze to je nejaky fun clanok.
9.9.2008 11:35:10   84.42.203.xxx 142
I já se přimlouvám, je více takových článků Procentíčka výkonu u grafik a desek nejsou alfou a omegou
9.9.2008 18:43:45   217.196.212.xxx 134
ja rači budu šmrdlat pravačkou myši po stole než hejbat pantama u pusy !
10.9.2008 06:12:21   213.220.241.xxx 113
Presne. Prave proto sefove radsi dikrujou sekretarkam, nez aby to psali sami :-)
10.9.2008 07:04:07   89.111.89.xxx 123
to ja radsi budu hejbat pantama, nez sebou vsude tahat stul
z clanku:
"Je to software pro vývoj řečových aplikací zaměřený na přenosné a zabudované systémy, jako jsou například palubní počítače v autech, výkonné mobilní telefony nebo kapesní počítače a organizéry."
9.9.2008 20:59:23   88.212.23.xxx 112
Pekny clanok naviac sa mi pacila ta cast s PS3 Naozaj dobre!
10.9.2008 05:39:15   195.39.70.xxx 134
Výtečné! Děkuji!
23.9.2008 10:46:42   84.42.181.xxx 91
Taky chci podekovat za clanek a jen vic takovychto rozhovoru s odborniky

Redakce si vyhrazuje právo odstranit neslušné a nevhodné příspěvky. Případné vyhrady na diskuze(zavináč)pctuning.cz

170 čtenářů navrhlo autorovi prémii: 85Kč Prémie tohoto článku jsou již uzavřené, děkujeme za váš zájem.
Tento web používá k poskytování služeb soubory cookie.