Hello, I am trying to improve the performance of Moses in a server environment (not training).
I have tried various things, including the following which is described on http://www.statmt.org/moses/?n=Moses.Optimize. It has had no impact: - *Multi-threading: *Up to 16 Cores on Google's Cloud I used the option -threads all and -threads 16 - *Memory:* I have launched Moses with as much as 60 GB of memory - *Caching the Models* Note: I only have the following files that I understand to be what you need to translate, including Phrase Table, Reordering Table, and target language model. Am I missing anything? Your documentation suggests that I might at http://www.statmt.org/moses/?n=Moses.Optimize#ntoc2 <http://www.statmt.org/moses/?n=Moses.Optimize>. I see these other files in my EMS directory but I get no errors without them. cat /home/autom8tr8n/mt_publish/model_enzh/phrase-table.minphr > /dev/null cat /home/autom8tr8n/mt_publish/model_enzh/reordering-table.minlexr > /dev/null cat /home/autom8tr8n/mt_publish/model_enzh/target.blm.zh > /dev/null - *Memory: *I have launched Moses with as much as 60 GB of memory - *Other:* I made sure "transparent huge pages" are enabled, and I use the compact phrase and reordering tables. So, I am now trying Moses2 and I am following the instructions here ( http://www.statmt.org/moses/?n=Site.Moses2). I am having some issues with this. Here are my questions: - *Does the Moses executable have to match for Training and Server?* In other words, do I have to train the models with Moses2 if I want to run them with Moses2 Server? - *Moses2 Error Messages:* I tried just running it with Moses2 (without server and just basic options): ~/mosesdecoder/bin/moses2 -f ~/mt_publish/model_enzh/moses.ini I get this error message: Starting... Defined parameters (per moses.ini or switch): config: /home/autom8tr8n/mt_publish/model_enzh/moses.ini distortion-limit: 6 feature: UnknownWordPenalty WordPenalty PhrasePenalty PhraseDictionaryCompact name=TranslationModel0 num-features=4 path=/home/autom8tr8n/mt_publish/model_enzh/phrase-table.minphr input-factor=0 output-factor=0 LexicalReordering name=LexicalReordering0 num-features=6 type=wbe-msd-bidirectional-fe-allff input-factor=0 output-factor=0 path=/home/autom8tr8n/mt_publish/model_enzh/reordering-table Distortion KENLM name=LM0 factor=0 path=/home/autom8tr8n/mt_publish/model_enzh/target.blm.zh order=3 input-factors: 0 mapping: 0 T 0 mark-unknown: server: server-port: 3001 unknown-word-prefix: __UNK__ unknown-word-suffix: __UNK__ weight: LexicalReordering0= 0.0892686 0.0768025 0.0930783 0.0716109 0.00303172 0.0492278 Distortion0= 0.0399769 LM0= 0.107799 WordPenalty0= -0.242343 PhrasePenalty0= 0.0403541 TranslationModel0= 0.0396487 0.0448175 0.0681687 0.0338723 UnknownWordPenalty0= 1 *Feature name PhraseDictionaryCompact is not registered.Aborted (core dumped)^This error suggests that I didn't compile with CMPH. I did. See below.* - *Compilation* From the file dates, Moses2 appears to have been compiled when I initially compiled Moses (1). Here is how I compiled it: ./bjam -a --with-boost=/home/autom8tr8n/mosesdecoder/boost_1_63_0 --with-cmph=/home/autom8tr8n/mosesdecoder/cmph/cmph2.0 --with-xmlrpc-c=/home/autom8tr8n/mosesdecoder/opt Where is the compilation log file where I can see what Moses 2 was compiled with? Please answer my questions about Moses2, look over the other optimization I did, and please, I am all ears if you have other suggestions to boost performance. My very unscientific manual testing has shown about 1.2 seconds to translate a phrase. No improvement at all has been made with any optimization that I have tried so far. A VM with a single core and 3.75 GB of memory performs just as good as a 16 core, 60 GB memory VM. Thanks in advance, Steve
_______________________________________________ Moses-support mailing list Moses-support@mit.edu http://mailman.mit.edu/mailman/listinfo/moses-support