anchor.diff:      +footrow
           +cell yields
           +cell tuple
  -        +cell A trainer and an optimizer.
  +        +cell An optimizer.
   
   +h(2, "use_params") Language.use_params
       +tag contextmanager
  
positive.code: p Update the models in the pipeline.
  
  +aside-code("Example").
      with nlp.begin_training(gold, use_gpu=True) as (trainer, optimizer):
          for epoch in trainer.epochs(gold):
              for docs, golds in epoch:
                  state = nlp.update(docs, golds, sgd=optimizer)
  
  +table(["Name", "Type", "Description"])
      +row
  
negative.code:         +cell Results from the update.
  
  +h(2, "begin_training") Language.begin_training
      +tag method
  
  p
      |  Allocate models, pre-process training data and acquire an optimizer.
  
  +aside-code("Example").
      optimizer = nlp.begin_training(gold_tuples)
  
  +table(["Name", "Type", "Description"])
      +row
  