Hi James

There was an investigation into different methods of parallelising model 1 in 
this paper:
Fully Distributed EM for Very Large Datasets
by: Jason Wolfe, Aria Haghighi, Dan Klein
http://www.cs.berkeley.edu/~aria42/pubs/icml08-distributedem

As for pseudo-code for the IBM models, check out Philipp Koehn's lecture notes 
on machine translation on the UoE site,

cheers
Barry


On Friday 20 February 2009 13:51, Chris Dyer wrote:
> Another architecture to consider is storing/distributing the ttable
> from a single central repository.  Most of the ttable is full of crap,
> and for each sentence, you know exactly what parameters will be
> required in advance of running your E step.  However, by not
> distributing stuff that you don't need, you'll save a lot of effort,
> and the amount of memory used by each individual compute node will be
> radically reduced.
>
> Chris
>
> On Fri, Feb 20, 2009 at 1:41 PM, Qin Gao <q...@cs.cmu.edu> wrote:
> > Hi, James,
> >
> > PGIZA++ is not using OpenMPI, and only use shared storage to transfer
> > model files, that could be a bottleneck, MGIZA++ is just using
> > multi-thread. So they are not quite complete and can be further improved,
> > the advantage of PGIZA++ is it already decomposed every training step
> > (E/M, model 1, hmm 3,4,5 etc), so it could be easy for you to understand
> > the logic.
> >
> > The bottleneck is majorly  the huge T-Table (translation table), which is
> > larger during model 1 training and then becomes smaller as training goes
> > on, every child has to get the table (typically several gigas for model 1
> > on large data). I think OpenMPI etc is a right way to go, and please let
> > me know if you have any question on PGIZA++.
> >
> > Best,
> > Qin
> >
> > On Thu, Feb 19, 2009 at 4:54 PM, James Read <j.rea...@sms.ed.ac.uk> wrote:
> >> Wow!
> >>
> >> Thanks for that. That was great. I've had a quick read through your
> >> paper. I'm guessing the basis of PGiza++ is OpenMPI calls and the basis
> >> of MGiza++ is OpenMP calls right?
> >>
> >> Your paper was very fascinating. You mentioned I/O bottlenecks quite a
> >> lot with reference to PGiza++ which is to be expected. Did you run any
> >> experiments to find what those bottlenecks typically are? How many
> >> processors did you hit before you started to lose speed up? Did this
> >> number vary for different data sets?
> >>
> >> Also, you mention breaking up the files into chunks and working on them
> >> on different processors. Obviously you're referring to some kind of data
> >> decomposition plan. Does your algorithm have any kind of intelligent
> >> data decomposition strategy for reducing communications? Or is it just a
> >> case of cutting the file up into n bits and assigning each one to a
> >> processor?
> >>
> >> The reason I ask is that our project would now have to come up with some
> >> kind of superior data decomposition plan in order to justify proceeding
> >> with the project.
> >>
> >> Thanks
> >>
> >> James
> >>
> >> Quoting Qin Gao <q...@cs.cmu.edu>:
> >>> Hi James,
> >>>
> >>> The GIZA++ is a very typical EM algorithm and probably you want to
> >>> parallelize the e-step since it takes long time then M-Step. You may
> >>> want to
> >>> check out the PGIZA++ and MGIZA++ implementations which you can
> >>> download in
> >>> my homepage:
> >>>
> >>> http://www.cs.cmu.edu/~qing
> >>>
> >>> And you may also be interested in a paper describing the work:
> >>>
> >>> www.aclweb.org/anthology-new/W/W08/W08-0509.pdf
> >>>
> >>> Please let me know if there are anything I can help.
> >>>
> >>> Best,
> >>> Qin
> >>>
> >>> On Thu, Feb 19, 2009 at 4:12 PM, James Read <j.rea...@sms.ed.ac.uk>
> >>>
> >>> wrote:
> >>>> Hi all,
> >>>>
> >>>> as the title suggest I am involved in a project which may involve
> >>>> parallelising the code of Giza++ so that it will run on supercomputers
> >>>> scalably on n number of processors. This would have obvious benefits
> >>>> to any researchers making regular use of Giza++ who would like it to
> >>>> finish in minutes rather than hours.
> >>>>
> >>>> The first step of such a project was profiling Giza++ to see where the
> >>>> executable spends most of its time on a typical run. Such profiling
> >>>> indicated a number of candidate functions. One of which was
> >>>> model1::em_loop found in the model1.cpp file.
> >>>>
> >>>> In order to parallelise such a function (using OpenMPI) it is
> >>>> necessary to first come up with some kind of data decomposition
> >>>> strategy which minimizes the latency of interprocessor communication
> >>>> but ensures that the parallelisation has no side effects other than
> >>>> running faster on a number of processors up to some optimal number of
> >>>> processors where the latency of communication begins to outweigh the
> >>>> benefits of throwing more processors at the job.
> >>>>
> >>>> In order to do this I am trying to gain an understanding of the logic
> >>>> in the model1::em_loop function. However, intuitive comments are
> >>>> lacking in the code. Does anyone on this list have a good internal
> >>>> knowledge of this function? Enough to give a rough outline of the
> >>>> logic it contains in some kind of readable pseudocode?
> >>>>
> >>>> Thanks
> >>>>
> >>>> P.S. Apologies to anybody to whom this email was not of interest.
> >>>>
> >>>> --
> >>>> The University of Edinburgh is a charitable body, registered in
> >>>> Scotland, with registration number SC005336.
> >>>>
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> Moses-support mailing list
> >>>> Moses-support@mit.edu
> >>>> http://mailman.mit.edu/mailman/listinfo/moses-support
> >>>
> >>> --
> >>> ==========================================
> >>> Qin Gao
> >>> Language Technology Institution
> >>> Carnegie Mellon University
> >>> http://geek.kyloo.net
> >>>
> >>> -----------------------------------------------------------------------
> >>>------------- Please help improving NLP articles on Wikipedia
> >>> ==========================================
> >>
> >> --
> >> The University of Edinburgh is a charitable body, registered in
> >> Scotland, with registration number SC005336.
> >
> > --
> > ==========================================
> > Qin Gao
> > Language Technology Institution
> > Carnegie Mellon University
> > http://geek.kyloo.net
> > -------------------------------------------------------------------------
> >----------- Please help improving NLP articles on Wikipedia
> > ==========================================
> >
> >
> > _______________________________________________
> > 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

-- 
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

_______________________________________________
Moses-support mailing list
Moses-support@mit.edu
http://mailman.mit.edu/mailman/listinfo/moses-support

Reply via email to