argosopentech / argos-translate

Open-source offline translation library written in Python
https://www.argosopentech.com
MIT License
3.91k stars 285 forks source link

Question: High system ram usage in cuda mode. Is this expected? #274

Closed jhazenaai closed 2 years ago

jhazenaai commented 2 years ago

Summary

I'm experimenting with Argos Translate and while running some tests I noticed that running in cuda mode used a huge amount of system memory. I boiled it down to just the example code snippet given in the readme and ran some more tests. Essentially my observation is that cuda mode uses an order of magnitude more system memory than cpu mode. Why is this and is it possible to reduce the system ram usage?

System config

Steps to reproduce

  1. install python3.9

  2. install argostranslate

  3. make file "example.py"

  4. paste in example code with sleep.

    
    import time

import argostranslate.package, argostranslate.translate

from_code = "en" to_code = "es"

Download and install Argos Translate package

available_packages = argostranslate.package.get_available_packages() available_package = list( filter( lambda x: x.from_code == from_code and x.to_code == to_code, available_packages ) )[0] download_path = available_package.download() argostranslate.package.install_from_path(download_path)

Translate

installed_languages = argostranslate.translate.get_installed_languages() from_lang = list(filter( lambda x: x.code == from_code, installed_languages))[0] to_lang = list(filter( lambda x: x.code == to_code, installed_languages))[0] translation = from_lang.get_translation(to_lang) translatedText = translation.translate("Hello World!") print(translatedText) time.sleep(50)



5. run `ARGOS_DEVICE_TYPE=cuda python example.py`
6. in separate terminal run `ps aux | grep example.py`
7. Observer ram usage
8. run `ARGOS_DEVICE_TYPE=cpu python example.py`
9. in separate terminal run `ps aux | grep example.py`
10. Observer ram usage.

# Observations

Combining ps aux and diffing before after with `free -m` I see cuda mode take up ~2700 MB while cpu mode takes ~200MB. 

## Edits

1. I've narrowed the increased system ram usage to this line https://github.com/argosopentech/argos-translate/blob/master/argostranslate/translate.py#L381 via debugging. 
PJ-Finlay commented 2 years ago

Interesting, thanks for the detailed report!

My first thought was that a lot of RAM was being used to drive the GPU, which might be by design. However, the line you indicated is for Stanza, which only does sentence boundary detection.

I don't think Stanza is a performance bottleneck, the actual translation with CTranslate2 is, so if it's using a lot of memory we could try disabling Stanza using CUDA here.

jhazenaai commented 2 years ago

So I wrote up a quick and dirty benchmark using a transcribed german podcast.

import time

import argostranslate.package, argostranslate.translate

german = "Ich war noch schnell, muss essen. Guten Morgen Liebe. Kari du ist wasabi? Müsse heissen sie so? Ja manor, die habe ich extra mitgebracht heute für unsere, für unsere Aufnahme. Ich dachte das Freistunde nüsse sind aber weder Obst noch Gemüse es sind. Was sind das? Hülsenfrüchte nennt man die, oder? Jetzt hast du schon unser Thema heute gesteuert? Es steht ja wahrscheinlich im in der Es. Unbeschreibst. Möchtst du ne Vasabinus? Nein, danke. Ich esse aus Prinzip nicht während Podcast aufnahmen. Okay ist verständlich. Ich muss sagen, ich hab die mal jetzt im Supermarkt gesehen, der hier um die Ecke ist von unserem neuen Büro. Ja, und deswegen habe ich die mal ausprobiert weil sie die so gerne mag. Manuel, wie geht sie denn heute? Wir haben heute die dritte, der Vierte schon aufnahme in unserem neuen Büro. Du hast heute den ganzen Tag aufgeräumt? Habe ich gemerkt als ich gekommen bin. Dieses Bureau, unser neues Büro. Wir geben euch ja jetzt immer Updates, ob ihr wollt oder nicht. Das ist des fassungen bisschen im Chaos, weil wir haben doch viele Lieferungen bekommen und es waren überall aufgerissene Kartons zum Teil noch Sachen drin, zum Teil nicht mehr. Und es hat mich irgendwie ich hätte wirklich viel am Schreibtisch zu tun gehabt, aber ich dachte ich kann mich jetzt nicht hinsetzen. Ich muss hier einmal klar Schiff machen, dass ein guter ausdruck. Das sagt man, wenn man aufräumt und alles wieder ordentlich macht, dann macht man klar Schiff und und das habe ich heute hier gemacht. Es hat mich sehr gefreut. Ich teile dieses Gefühl, dass es hier sehr chaotisch aussah. Ich hab mich aber teilweise nicht getraut die Kartons selber wegzuräumen weil da waren ja deine Sachen drin, die du bestellt hattest. Ja, es sind unsere Sachen, aber ja, es waren Mikrofone und Kabel und solche Dinge. Ja ja da kann ich ja jetzt nicht kommen und dann deine also die Kabel wo ich gar nicht weiss wofür man die benutzt anfang zu sortieren. Auf keinen Fall. Ja, so viel zum Büro und Kari, du hast gestern mir eine schöne Sprachnachricht geschickt. Ja, das wolltest du glaub ich noch erwähnen. Hier richtig. Ich habe gestern Abend wir haben ja euch vor einiger Zeit erzählt, dass wir wir kostenlosen online Unterricht für geflüchtete Ukrainerinnen und Ukrainer anbieten und haben dann auch Leute gesucht die Lust haben zu unterrichten und da haben sich einige Leute gemeldet z.B.. Den Anja und Prajakta haben sich gemeldet. Die unterrichten gerade den ersten Kurs. Danke schön, dass ihr euch gemeldet habt. Demnächst gibt's ja auch noch mal updates zu diesen Angeboten die wir gerade haben. Aber falls ihr Lust habt auch jetzt als Deutschlehrer mitzumachen, das geht immer noch unter is german punkt ork slash Ukraine. Oder wenn ihr Villeicht aus der Ukraine kommt und lernen möchte ja, lange Rede, kurzer Sinn manuel der dan der oder jetzt spreche ich seinen Namen falsch aus. In England sagt man dann really hätte ich vor research, weil das je nachdem wo man in England ist aber dan wäre die amerikanische Variante. Und da haben wir lange gestern darüber geredet, dass wir automatisch die amerikanische Variante adaptieren. Also dann ist ein Lehrer aus dem Norden Bordmittel Englands pu, als wenn ich geographie, war jetzt gar nicht eingeplant hier. Auf jeden Fall unterrichtet er in einer schönen Stadt namens Bester. Ungefähr so wird die ausgesprochen. Und er ist dort an einer Schule tätig und unterrichtet. Und das Lustige ist jetzt, wie hat er uns überhaupt kennengelernt? Und zwar hat er mir dann erzählt, dass er unseren Podcast entdeckt hat über seine Schülerinnen und Schüler. Er unterrichtet nämlich an dieser Schule alle Klassen, alle Stufen Deutsch und seine Schülerinnen und Schüler haben ihm irgendwann am Anfang von Korona den Podcast empfohlen. Und seitdem hört die ganze Schule unseren Podcast wandeln. Es ist der Wahnsinn und das Krasseste, was du dann mir gestern Abend in einer Sprach Mitteilung erzählt hast, beziehungsweise ihr Zusammen, denn dann war ja mit dabei ist, dass das, was wir hier quatschen, im Podcast prüfungsinhalte sind, an dieser Schule. Ja, also es war jetzt nicht so, dass da abgefragt wurde, oder welches Gemüse ist manuel gerne, oder was ist seine Lieblingsliste? Sondern es war er so, dass die Schüler selber berichten durften von Sachen, mit denen sie Deutsch gelernt haben. Und da ist dann mehrfach der isi german Podcast und dessen Inhalte erwähnt worden. Und das muss ich sagen, hat mir grosse Freude bereitet. Und weil heute nämlich die Abschlussklasse, beziehungsweise gestern, hatte die Abschlussklasse ihren letzten ihre letzte Prüfung, glaube ich, das ist die Dreizehner. Gruppe hat mir dann erzählt, wollte ich Ihnen noch mal Glückwunsch wünschen zum Abschluss und hier ein kleines Schaudert machen. War neu, was hältst du davon? Toll. Herzlichen Glückwunsch an die für die abgeschlossene Prüfung. Und liebe Grüsse von uns. Genau, liebe Grüsse. Ich lese noch mal die Namen vor. Es sind mich gar nicht so viele. Alice, La, Riana, Elenor, Nefertari und allister das ist die Gruppe, die jetzt gerade hier mit dem Segementkastenür Die Abschlussprüfung gelernt habt. Ausserdem übrigens noch ganz liebe Grüsse an Holly. Die hört nämlich immer das wirst du auch lustig finden, zusammen mit ihrer Mutter den Podcast im Auto auf dem Weg zur Schule. Und ihre Mutter ist nämlich Französisch Lehrerin und muss dann immer wohl oder übel eine deutsch Podcast im Auto auf dem Weg zur Schule hören. Na, jetzt können sie ja den easy french Podcast abwechselnd hören mit unserem. Ja, das ist unser Vorschlag an euch ganz liebe Grüsse nach England. Thema der Woche so, was ihr vielleicht nicht mitbekommen habt, wenn ihr kein Mitglied seid, ist, dass wir vor zwei Episoden drei Episoden in unserer Aftershow nach der Hauptsendung über Ein eine themen Idee gesprochen haben, die Kari hatte und unsere mitglieder auf Discord haben. Abgestimmt. Ja, wir sollen darüber reden. Danke schön. Dieses Thema ich hab's vorhin schon erwähnt, ist obst oder gemüse top oder Flop hatten wir tatsächlich noch nie. Ich finde das Thema jetzt nicht so spannend, aber es ist natürlich wichtiges Vokabular, wenn man in den supermarkt geht und Gemüse und Obst kaufen will, muss man das wissen. Und nebenbei, erfahrt ihr jetzt was wir mögen und nicht mögen. Ja, ist das nicht. Also ich finde es ist ein Top Thema. Manuel, ich hab ja habe ich Dir erzählt, mit Janosch angefangen zu kochen vor ein paar Monaten. Und da musste ich auch sehen sehr viele Gemüsesorten zum ersten Mal kennenlernen, von denen ich gar nicht wusste, wie die aussehen. Da muss ich erst mal googeln, wie die aussehen und dann die richtigen Identifizieren. Und das fand ich sehr witzig. Möchtst Du noch hier vorlesen die Ja Ja sieht, die hat geschrieben unser mitglied Ja sieht? Ja, bitte sprecht darüber. Aus irgendeinem Grund weiss ich immer noch nicht, wie die meisten Ober und Gemüsesorten heissen, obwohl ich schon einen B Eins Test gemacht habe. Es ist als wären sich alle deutschen Sprach bücher einig solche Wörter wegzulassen, das muss ich sagen, ist bei mir auch bei manchen Themen so, dass ich die in Englisch manchmal nicht kenne, weil die einfach im Alltag nicht präsent sind. Ich gehe ja nicht in den Supermarkt oder in Kaffee oder so. Und Gratin hat geschrieben aber klar wollen wir da hören. Manuel, da Kari letztens das Thema Zähne putzen über das Thema Zähneputzen reden musste, wäre es nur fair, wenn Du dieses Mal auch über Gemüse diskutieren würdest, oder was meinst du? Carisbrooke img Ja. Manuel, ich habe dir zum Einstieg hier mal ein kleines Quiz mitgebracht. Was sind denn wohl deiner Meinung nach die beliebtesten Obst und Gemüsesorten in Deutschland? Was ist Deutschland? Fangen wir mal mit Gemüse an. Tomaten, richtig? Das ist Platz eins. Zwiebeln platz drei knoblauch ne. Ok, parkaue da hört, das ist schon das sind ja schon so Lieb, die ich kenne. Nein, was fällt mir noch ein? Oh, jetzt wirds peinlich. Socini oberg ine Nee. Also jetzt sage ich nur noch die, die mir überhaupt einfallen. So, was ist denn Platz zwei? Ja, ich war auch überrascht, es ist ein Sammelbegriff, nämlich der der Rübe, roten Karotten, Möhren und rote Bete. Bete sind Rüben. Und die sind tatsächlich Platz zwei? Ja, nicht überrascht. Okay? Karotten sind gut für die Augen. Ja, haben für Vitamin A. Ich hasse Karotten. Oh, jetzt habe ich schon was gesteuert aus meiner Liste. Manuel, was ist denn das Top Obst in Deutschland? Was essen die Deutschen? Äpfel? Das ist absolut richtig. Ich sage dir auch noch mal, wie viel Kilo die essen. Ne, das kannst du auch raten, wie viel Kg Äpfel ist? Jeder Deutsche pro Kopf im Jahr. Pro Kopf pro Jahr würde ich sagen, iuzhas zwei Kilo im Monat. Das heisst fünfhundert G in der Woche. Ja, gut geht, sind 23 Äpfel. 23 Äpfel pro Woche? Ja. Was ist Nr. Zwei Bananen. Dein Lieblingsobst? Nur wenn sie noch grün sind. Die, die ich die eben mitgebracht habe, war die schon super gut. Bananen werden 12 kg Konsumiert 1 kg pro Monat. Also bei mir ist es wahrscheinlich mehr, denn ich esse immer zum Frühstück eine Banane und meistens nachmittags noch eine. Echt? Ich esse auch jeden Tag eine Banane. Viele gut was? Ein Potassium. Man braucht das auf jeden Fall. Okay, toll, danke. Haben wir was gelernt? Also Platz eins und Platz zwei habe ich auch. Fand ich ehrlich gesagt nicht überraschend, denn das ist eigentlich ziemlich klar. Die Deutschen essen wahnsinnig viel Apfel und Banane. Potassium ist übrigens der englische begann auf Deutsch heisst es Kalium. Kalium, natürlich, das kenne ich. Was ist denn Platz drei. Was gibt noch? Mein Tipp. Platz drei. Frucht, oder? Wirds schon schwieriger. Ich würde sagen Mandarinenorangene erdbeeren, dann weiss ich's nicht. Trauen? Ja, ich war ein trau Weintrauben. Ja, manuel, ich habe dir jetzt eine Liste mitgebracht mit meinen persönlichen Tops und Flops und ich sage jetzt immer in ein Obst oder ein Gemüse. Sorte, wir machen die durcheinander oder wollen wir erst ein durcheinander und du musst dann sagen ist das topp oder Flopp? Und wie schmeckt das? Und wie sieht das aus? Also ich soll's beschreiben und überlegen, ob das dein Top oder dein Flop ist, richtig? Fangen wir immer an mit Spinat. Spinat ist grün und gibt's in unterschiedlichen Konsistenzen. In Deutschland ist man ja gerne. Auch jetzt nicht den Blattspinat, sondern diesen wie heisst er denn, der so gefroren ist forenspiele? Ja, Spinat. Genau. Und ich denke, das ist natürlich top. Ja ist in meinen Top, in meinen auch. Dann geht's weiter mit Möhren. Möhren sind orange. Und du hast gerade gesagt, dass du sie nicht magst. Ich mag Möhren sehr gerne. Ja, was ist ein ich den Unterschied zwischen Möhren und Karotten. Ich glaube, da gibt es einen, aber ich glaube den Wissen, wenn ich und die meisten Menschen wissen ihn nicht gut, wollen wir auch nicht googeln. Wollen wir? Ich kugeln? Ich glaube ken ihr Wisst? Ja, gefährliches, halb Wissen und so. Ich glaube Möhren sind kleiner. Ja, ich glaube auch. Ihr könnt uns gerne korrigieren. Manuel, wie siehts aus bei dir mit Radieschen sind toll. Radieschen sind aussen pink innen weiss und man kann die gut weg necken und Radieschen haben so ganz eigenen Geschmack. Also wenn ich nur das Wort Radieschen höre, habe ich den Geschmack schon im Mund. Die haben wirklich sind also die Bisschen, aber das kann man nicht immer und jeden Tag machen. Aber manchmal ist es geil. Okay, das sind also Radieschen? Ja. Ist das mein Topp oder Flopp da im Gesichtsausdruck zu urteilen, es ist gut, dass wir uns jetzt gegen übersichten. Ist es ein Flopp bei dir? Ja, ich ich hasse Radieschen. Okay. Und ist das ein Ich? Das gleiche wie Reddish? Ich glaube nicht, nein. Und wie heisst Radi sien auf Englisch? Das ist etwas, was ich z.B. Gar nicht weiss. Also Radisch ist Rettig ähnlich, aber nichmehrwiewenn man Radi sien sucht im Wörterbuch, dann kommt trotzdem Radisch als Übersetzung. Das müssen wir noch mal sozusagen recherchieren wie das Auf. Ich glaube kult Garden Radisch oder Cultivated radisch ist das as? Es scheint ja Licht. Ist das verwandt? Ich habe tatsächlich Radieschen und Rettich auf meiner F. Und was wir gleich noch damit abarbeiten können, sind für mich zwei ähnliche Gemüsesorten, nämlich Kohlrabi und Pastinake. Pastinake habe ich noch nie gehört. Pastinake. Ich schau es mir jetzt mal an. Und Kohlrabi schmeckt irgendwie nach nichts. Für mich schmeckt das alles sehr ähnlich. Also Kohlrabi ist so weiss. Und da ich janosch liebt übrigens, all diese Gemüsesorten möchte ich direkt schon mal sagen. Gut, gut, dass du sagst, manuel, wir machen weiter mit der Birne. Birnen gehören zu den wenigen Früchten, die ich nicht mag. Die sind so die sind halt so so weich und so übermässig süss. Und deswegen mag ich du magst Birnen gerne? Ich merke schon, wir haben unterschiedliche Geschmäcker. Ja, und ich frage mich gerade um, es gibt ja die Birne und die hat ja die gleiche Form wie die Glühbirne. Also haben wir irgendwann die Birnen am Baum Birne genannt und wurde die Glühbirne empfunden. Und dann haben wir gesagt, die sieht so ähnlich aus. Also ist das ne Glühbirne umgekehrt wird's wohl kaum gewesen sein. Ja, ich ich glaube nicht, dass man erst die Glühbirne erfunden hat und dann an den Baum geguckt hat und gesagt hat kuka wie ne Glühbirne. Nur es glüht nicht dann, wenn wir sie birne. Ich glaube, es war schon so, wie du das beschrieben hast. Immer, da habe ich mir noch nie darüber Gedanken gemacht, dass die Glühbirne nach der Birne benannt wurde. Er beschreibe uns die Birne. Sie sieht aus wie eine Glühbirne, aber man kann sie essen. Richtig. Und sie ist sehr süss von Grün oder gelb? Von der Farbe her. Ja, ich mag Birnen sehr gerne bei mir. Ein klassischer Top. Top? Okay. Ja, es ist ganz eindeutig top. Wie siehts denn aus mit Pampelmuse? Pampelmuse ist auf jeden Fall ein gutes Wort. Ein guter Test für Mikrofone. Wie die mit Poppgeräuschen Umgehen. Pampelmuse pampelmuse pampelmuse. Das ist son Wort. Wenn man das ganz oft sagt, dann kommt's einem richtig Fans. Music fand das schon als Kind. Mein Oberwart gerne, glaube ich, pampelmusensaft Getrunken. Und ich fand das schon als Kind lustig und finds heute auch noch lustig. Ich musste das googeln. Ist eine Pampelmuse eine Grap Efood. Ich glaube, das ist der deutsche Name für Grap Efood. Ach Kur. Aber heutzutage gibt's auch Grapefruitsaft und Pampelmusensaft in ja, ich glaube, weil keiner weiss, was eine Pampelmuse ist und allerdin was ne Grafrudi. Also ich mag Pampelmusen. Ja? Ich nicht so. Ja, ich kauft gerne so bittere Sachen. Pampelmusen Blutorangen ist bei mir ein flop Stimmt. Bitter. Das ist das Wort, was ich gesucht hat. Es ist eine bittere Frucht. Eine Bittere Frucht, die Bittere wahrheit. Man, ich hab dir ja gerade noch zwei weitere Früchte mitgebracht, nämlich Erdbeeren und Kiwis. Das sind natürlich ganz klar riesengrosse Tops, denn Erdbeeren gibt es in meinem Geburtstagsmonat. Im Juni August gibt es die in Deutschland und aus Deutschland. Man soll ja nicht so viel Früchte importieren und ich liebe Erobern. Erobern sind einfach der Hammer. Also Erobern kennt ihr alle sind rot und haben so kleine Punkte. Das sind die Samen, glaube ich, und sind einfach der Hammer. Und Kiwis sind natürlich auch super lecker, wenn sie reif sind. Die sind aber immer importiert. Ich guck gerade mal, wie Erdbeeren in verschiedenen Sprachen heissen. Und die heissen überall anders z.B. Fräs. Auf Französisch oder? Und auf Spanisch fresse. Und in Mexiko, dort, wo ich studiert habe, benutzt man dieses Wort Fresser für Leute, die sehr reich aufwachsen und so von dem goldenen Löffel im Mund leben. Auf Deutsch wird man vielleicht sagen so bonzen Kinder, das sind Fresser. Sie können sich erdbeeren. Ich weiss nicht, ob das daher kommt, weiss ich nicht. In Niederländischer. Und ich finde das lustig. Fall Beeren. Es gibt ja viele Beeren, also normalerweise wachsen Beeren an Sträuchern. Es gibt himbeeren Brombeeren, was gibt's noch? Johannisbeeren. Und die Erdbeere wächst also dem Namen nach in der Erde? Ja, sie kommt so aus der Erde. Das stimmt auch. Aber lustig, dass das eigentlich ja gar keine Beere ist, von der Art her. Und es gibt ja auch noch Erdäpfel, nämlich kartoffeln nennt man auch Erdäpfel. Richtig? Komme. Haben wir nicht schon total viele tolle Fekter? Heute präsentiert manuel generell die deutsche Sprache. Ist oft einfach sehr bildlich. Merkwürdig sagen ja. Wie findest du unsere episode So? Bis jetzt. Ein Zwischenfahrt sieht fantastisch. Weiter geht's in Wahn mit Rosenkohl. Ich muss kurz überlegen, ob das das ist, was ich denke, was es ist. Ich glaube, das habe ich einfach verdrängt im Kopf. Ja. Rosenkohl? Ja. Das ist das einzige Gemüse, das ich kenne, dass ich dachte wirklich zu hassen. Das hat bei mir richtig so n Würgereiz erzeugt. So schlimm fand ich das. Dann hat mir jemand gesagt wahrscheinlich hast du immer nur Rosenkohl serviert bekommen, von Menschen, die ihn falsch zu beraten, zu bereiten. Ich mache jetzt mal Rosenkohl und vermute, dass du ihn mögen. Wirst. Und diese Person hatte Recht. Und ich glaube, der Trick bestand darin, dass man sie nicht zu lange kochen darf, irgendwie so. Aber ich mag das nämlich gar nicht, wenn die dann so wahnsinnig. Also Rosenkohl sind so grüne, kleine Bällchen. Ja, und die haben so nen ganz komischen ich geschmack. Aber wenn man sie scheinbar nur kurz kocht, dann sind sie viel milder und dann schmecken sie eigentlich ganz okay. Interessant. Das verwirrt mich immer in Englisch. Heisst Rosenkohl. Brussel. Sprouts. Ne doch ne Brs. Brussels. Sprouts. Also Sprout, was ist denn Sprodiesprossen? Aus Brüssel brüssel brussels brod heisst es. Und das Lustige ist, in Deutsch gibt's ja ganz viel mit Kohl. Also ich glaube, das sind auch alles Kohlsorten. Da können wir gleich mal hängen bleiben. Wie sitzen bei dir aus mit Blumenkohl? Rosenkohl? Oder einfach nur der normale Kohl? Kommt so ein bisschen auf den Kohl an. Blumenkohl. Das ist das, was so weiss, weiss weisse Blüten oben hat ne Blüten sind es nicht weisse Dinger, so knollen irgendwie knolle ist ein gutes Wort. Knolle ist das, was oben ist, Blumenkohl. Das weisse finde ich okay. Also das ich bin ja so n Typ Mensch. Ich esse die Sachen, die ich am wenigsten lecker finde auf dem Teller als erstes und spar mir die besten Sachen zum Schluss auf und Blumenkohl würde ich als erstes essen, aber ich würde ihn essen sie und ich würde den Blumenkohl oft liegen lassen. Es kommt auch auf die Zubereitung an. Z.b.. Wenn der Blumenkohl sehr weich ist, dann ess ich ihn wenn der noch so n bisschen hart ist und knack ich irre ich nicht. Und wie sieht's mit normalem Kohl aus? Janisch, z.B. Sein grosser Kohl fällen der Kauft sich immer verschieden. Es gibt ja verschiedene Kohle. Kohl ist also Cabeceo englisch blumenkohl hingegen ist Coliflower. Also in anderen Sprachen ist das wohl nicht alles nur Du gibt's auf jeden Fall verschiedene Kohlsorten weil die wahrscheinlich alle ähnlich wachsen oder ähnlich ne Familie sind. Das wissen wir nicht. Also ich esse nie normalen Kohl. Ich weiss gar nicht ob ich den mag oder nicht. Okay kriegen wir noch in Helmut kollwitz Unter in diesem Segment ich weiss sie nicht mal schlechteste ja noch einen Parat? Ne, leider nicht. Also normaler Kohl ist z.B. In dem Döner drin es gibt es gibt ja auch noch Rotkohl zum Rotkohl ist geil. So und jetzt gebe ich dir immer meine Tops und Flops zum Thema Kohl. Ja ich bin nämlich kein Kohl Fan. Schon mal generell also weder von Helmwood noch von den verschiedenen Kohlsorten allerdings also ich mag keinen Blumenkohl, ich mag kein Rosenkohl. Auch Kohlrabi mag ich nicht. Da haben wir eben schon darüber geredet und was für mich in die gleiche Kategorie gehört aber kein Kohlname ist, ist Broccoli. Broccoli ist für mich etwas was ich irgendwie nicht esse, wenn das in so nach Schüssel drin ist, meistens aber ich bin ein sehr grosser Fan von Rotkohl und Grünkohl. Okay nehm ich so zur Kenntnis. Also Rotkohl ist ja sieht er aus wie so n Salat, so dünn geschnittene, weiss rosane Streifen und grünkohl ist er. Also sieht von weitem so n bisschen wie Spinat aus. Richtig grün gekräuselt dann irgendwie also Rotkohl sieht ein ich aber es gibt ja ein Kopf den Kohlkopf. Der sieht genauso aus wie in normaler Kohl. Aber in Rot ja auf Englisch heisst er deshalb auch Purple Cabane oder Red Savage und Grünkohl hingegen ist ja sieht du hast recht er wie Spinat und heisst auf English ja nehm bin ich kein Fan von aber ich ess es ja da ist ja ziemlich viel gibt's ein irgendein Gemüse, was du richtig überhaupt nicht magst, nur den besagten Rosenkohl. Okay sossenfach zubereitet ist sonst nicht. Nur sonst ess ich eigentlich alles an Gemüse. Sehr lustig und wie siehts bei Obs bei dir ausmachen? Gibt's ob was du wenn das dir präsentiert wird oder so in Serum obstsalat würdest du das nicht essen. Ich esse auch alles, aber ich habe echt zur Erinnerung an manche Länder die ich bereist habe wo es zum Frühstück so ringbuch beispiel in Kuba da gab's zum Frühstück immer Ruta Bomba und das war genau so wie es auch klingt. Das war wirklich eine Ein monster Teller. Einfach ein Berg an Früchten und wirklich in jedem in jedem in jeder Unterkunft. Also ich hab da immer bei so Familien gewohnt gab es das zum Frühstück und ich hatte wirklich so n Zuckerschock jeden Morgen von den ganzen Obst. Und ich esse wie gesagt, eine Banane zum Frühstück. Und natürlich meine absolute Lieblingsfrucht. Ja, ich kann es nicht fassen, dass sie noch nicht zur Sprache gekommen ist. Blaubeere? Nein, ich mangopflaume keine Avocado. Das ist deine Lieblingsfrucht, manuel. Die gönn ich mir zum Frühstück. Also eine viertel bis eine halbe verbraucht viel Wasser im Anbau. Ich weiss es bitte keine Emails schreiben, aber ich ernähre mich sonst recht. Sustainable oder wie sagt man bananen und Avocados, die sind auch zwei von meinen Lieblingsfrüchten, muss ich sagen, sind ganz oben in meiner Top. Was hältst du denn von dem folgenden Kirschen? Topp oder Flopp? Topp. Aber man darf nicht zu viele davon essen, sonst bekommt man Bauchschmerzen, stimmt, weintrauben, Topp oder Flopp? Kommt drauf an. Mal hat man Glück, mal hat man Pech. Bist du ein Weintrauben, schlinger manuel definitiv. Also wenn sie gut sind, dann kann man da locker die ganze Packung weg essen. Z.b. Ich überhaupt nicht. Aber mir ist das aufgefallen, dass es diese Kategorie Mensch gibt, weil janisch es so und ger amy ist auch so. Ist mir irgendwann aufgefallen. Also wenn die ne Packung Weintrauben kaufen jeremy kauft z.B. Auch mal direkt zwei oder drei. Also zumindest war das mal ne Zeit lang so und bajanisch ist das auch so. Wenn ich mir deintraum bestelle, kaufe ich zwei Packungen oder nicht bestelle oder im Geschäft kaufe, kaufe ich zwei Packungen. Weil wenn Janisch meine deintraum entdeckt, verschlingt er die sofort. In einer der könnte die eigentlich auf Deutsch gibt es ein schönes Werk, was sich in den letzten Jahren etabliert hat. Er atmet die ein ja, wenn man etwas einatmet, dann ist man das so schnell, als würde man nur einmal gemacht. Man kann z.B.. Eine Tüte Chips einatmen oder eine Janisch atmet eine Packung Weintrauben ein Ja ne, ich bin da sehr ähnlich. Ich kaufe nicht so oft Wein trauben auch wieder, weil die meistens aus Ja Ägypten oder Südamerika kommen. Ziele reise, aber ja, wenn sie gut sind. Wo, das geht schnell. Pakchomuss. Ich wieder googeln. Was ist das nochmal? Packschys ist etwas, was wir wahrscheinlich nur wir hier in Berlin essen, weil es ist in jedem Vietnamesischen Gericht drin. Und in Deutschen Gerichten ist das eigentlich nie. Hat so n bischen was Zwiebelmässigs. Und ich bin kein Fan von zwiebeln Bibel. Zumindest nicht Roh Deswegen. Also es ist natürlich aber kein grosser Fan. Aber wo wir schon bei Vietnamesischen Gerichten sind edamame ist richtig lecker. Richtig lecker. Und Packhuis mein absolutes Hassgemüse. Echt? So Shinoda lass ich mittlerweile auch weg. Kristophas. Ja, kommen wir noch zu Schönen erwartet jetzt aber ch chongepeudert. Was ist denn mit der Aubergine? Manuel schön schön. Was ist mit Tomaten? Tomaten sind super mein Cousens hat früher immer Tomaten wie äpfel gegessen. Der hat sich immer eine grosse Tomate genommen aus der Küche und dann so acht reiche Bissen. Und das ist eigentlich ganz geil, aber ich finde Tomaten brauchen unbedingt Salz. Ja, ja hm am besten Salz, pfeffer und noch vieleichten Bisschen Balsamico. Und dann könnte ich die auch einatmen. Also ich esse auch. Manchmal wenn ich so ganz minimalistisch esse, esse ich auch nur Tomaten und Kartoffeln. Also Kartoffeln in verschiedenen Formen z.B.. Kroketten und Tomaten einfach nur das ist mein Mittagessen. Lecker. Ja. Manuel, welche Gemüse und Obstsorten haben wir noch nicht erwähnt, über die du gerne sprechen würdest? Ich glaube du hast alles wichtige kartoffeln haben wir halt überhaupt nicht erwähnt. Stimmt, das ist bei mir nicht in der Kategorie Obst und gemüse nahrungsmittel, fast wie wasser in Deutsch kohlenhydrate. Ja und schnee sonst als glaube ich, das Wichtigste erwähnt worden. Ja und wie fandest sie jetzt unsere Episode heute? Okay, ja ihr könnt ja auch mal sagen, wie ihr sie fandet. Ihr habt ja jetzt sehr viele Vokabeln heute gelernt. Ihr müsst wahrscheinlich jetzt erst mal googeln und diese ganzen neuen Vokabeln in eure Vokabelliste und eure Vokabel Apps hinzufügen. Oder ihr werdet ein Mitglied von in German. Dann hört ihr dann seht ihr nämlich die Vokabeln mit Übersetzung beim Abspielen und könnt ihr direkt runterladen. Die ganze Vokabelliste könnt ihr runterladen und dann in eure Lernapps importieren. Toll. Und schreibt uns mal was euer lieblings und was euer Hass gemüse ist und welches Gemüse ihr einfach einatmen könnt. Johari bis Bal. Amane."
cache_bust = "Manuel, wie geht sie denn heute? Wir haben heute die dritte, der Vierte schon aufnahme in unserem neuen Büro. Du hast heute den ganzen Tag aufgeräumt? Habe ich gemerkt als ich gekommen bin. Dieses Bureau, unser neues Büro."

from_code = "de"
to_code = "en"

# Download and install Argos Translate package
available_packages = argostranslate.package.get_available_packages()
available_package = list(
    filter(
        lambda x: x.from_code == from_code and x.to_code == to_code, available_packages
    )
)[0]
download_path = available_package.download()
argostranslate.package.install_from_path(download_path)

# Translate
installed_languages = argostranslate.translate.get_installed_languages()
from_lang = list(filter(
    lambda x: x.code == from_code,
    installed_languages))[0]
to_lang = list(filter(
    lambda x: x.code == to_code,
    installed_languages))[0]
translation = from_lang.get_translation(to_lang)
# warm the model
translatedText = translation.translate(cache_bust)

t = time.time()

for i in range(5):
    translation.translate(german)
    translation.translate(cache_bust)

t = time.time() - t

print(f"Elapsed time: {t}")

So I ran this editing translate.py. The first test is forcing stanza to use CPU and Ctranslate2 to GPU Elapsed time: 40.09575796127319. The second is allowing stanza to use GPU but disabling GPU for Ctranslate2. Elapsed time: 88.29967045783997. The third is both with their standard configuration both using GPU Elapsed time: 14.958109617233276.

We can conclude that stanza does perform considerably faster using a GPU, but at the cost of system RAM.

In my case I don't need stanza as I would already be breaking up the sentences and translating one at a time. In GPU mode with pre-split sentences if I replace stanza with sentences = [input_text] I see ~30% faster processing and around a 2700 MB reduction in RAM use. I don't know how many people would care to only translate one sentence at a time, but a few optional function params and an if statement could do wonders for that use case. I could write up a PR if you think that seems like a good change. Otherwise I'll just fork and optionally disable stanza for my own use.

PJ-Finlay commented 2 years ago

Good to know, so CUDA does meaningfully speed up Stanza.

I think we probably wouldn't want to add an option for disabling sentence splitting for now, so it's probably best to use custom code if you need it. Sentence boundary detection is already a bit confusing and there are two sbd systems. There's the default Stanza system and a separate one that does sentence boundary detection with a CTranslate2 seq2seq model in sbd.py.

jhazenaai commented 2 years ago

Sounds good. Thanks for your help! I'll go ahead and close this as the high RAM usage is a side effect of performance/throughput increase. Perhaps in the future there can be optimizations in Stanza that improve performance.

TL;DR for people seeing this in the future: As of this comment's post Stanza in cuda mode uses high system RAM but achieves higher performance as a result.