Hi Ken, Yes, different models, different languages. Thanks! Yes lazy loading is absolutely dead slow.
Lexi On Thu, Mar 20, 2014 at 4:53 PM, Kenneth Heafield <mo...@kheafield.com>wrote: > Hi Lexi, > > I take it that these models are different, not the same model > loaded > into each process (in which case they would have shared). I'd really > recommend trying to compress things more (e.g. trie -a 64 -q 8) before > going to lazy loading. > > Kenneth > > On 03/20/14 08:13, Marcin Junczys-Dowmunt wrote: > > Hi, > > since KenLM uses shared memory, four instances should take up the same > > amount of memory as only one instance (ran yesterday 8 instances with 8 > > threads each with a 99GB LM on a 128 GB machine). If the model fits into > > memory for a single instance it should work if you have enough memory > > left for all the phrase tables and the translation process itself (I > > guess this is actually the problem). Lazy loading was unbearably slow > > for me with the above mentioned configuration, but I was using 64 > > threads in total, so a lot of concurrent disk access happing, no wonder > > there. > > Best, > > Marcin > > > > W dniu 20.03.2014 14:35, Alexandra Birch pisze: > >> I have found the answer on the kenlm web page and it seems to be > working: > >> > >> Full or lazy loading > >> > >> KenLM supports lazy loading via mmap. This allows you to further > >> reduce memory usage, especially with trie which has good memory > >> locality. In Moses, this is controlled by the language model number in > >> moses.ini. Using language model number 8 will load the full model into > >> memory (MAP_POPULATE on Linux and read() on other OSes). Language > >> model number 9 will lazily load the model using mmap. I recommend > >> fully loading if you have the RAM for it; it actually takes less time > >> to load the full model and use it because the disk does not have to > >> seek during decoding. Lazy loading works best with local disk and is > >> not recommended for networked filesystems. > >> > >> > >> > >> On Thu, Mar 20, 2014 at 2:32 PM, Alexandra Birch <lexi.bi...@gmail.com > >> <mailto:lexi.bi...@gmail.com>> wrote: > >> > >> Hi there, > >> > >> I want to run 4 MT servers at the same time on a machine with > >> limited memory. Kenlm seems to reserve the amount of memory which > >> the language model would have taken if it had been loaded into > >> memory. So I don't have enough memory to run all these servers and > >> the machine grinds to a halt if I try. Is there any flag I could > >> use which would limit the amount of memory reserved? > >> > >> Lexi > >> > >> > >> > >> > >> _______________________________________________ > >> Moses-support mailing list > >> Moses-support@mit.edu > >> http://mailman.mit.edu/mailman/listinfo/moses-support > > > > > > > > _______________________________________________ > > Moses-support mailing list > > Moses-support@mit.edu > > http://mailman.mit.edu/mailman/listinfo/moses-support > > > _______________________________________________ > Moses-support mailing list > Moses-support@mit.edu > http://mailman.mit.edu/mailman/listinfo/moses-support >
_______________________________________________ Moses-support mailing list Moses-support@mit.edu http://mailman.mit.edu/mailman/listinfo/moses-support