Wang 2018 - Appendices and Implementation Details

Summary

The appendices give QNLI’s construction, the exact attention and training procedures, the five sentence-representation models, development-set results for all baselines (Table 6), the website’s architecture, and the full definitions of the diagnostic phenomena. Table 6 shows a different picture from the test set: on dev, the best average is 67.9 (single-task +Attn,ELMo) and multi-task training is not uniformly better, and WNLI dev scores are very low for multi-task models because of the adversarial dev set.

Overview

This note collects reproducibility details not covered elsewhere. Appendix A (QNLI) is summarized in Wang 2018 - Task Suite and Selection Criteria, Appendix B in Wang 2018 - Baselines and Benchmark Results, and the diagnostic definitions (Appendix E) in Wang 2018 - Diagnostic Dataset.

Main Content

Appendix B: training details (reconciled with Sec. 5)

ItemMain text (Sec. 5)Appendix B.2
Task samplingprobability proportional to number of training examplessame
Loss scalingnot mentionedeach task’s loss scaled inversely proportional to its number of examples (“improves overall performance”)
OptimizerAdamAdam, gradient clipping
Initial learning rate
Batch size128128
Validationmacro-average, stop when LR or no improvement after 5 checksmacro-average, check every 10k updates, divide LR by 5 when validation does not improve, stop at LR or no improvement after 5 checks

The main text and Appendix B disagree on the initial learning rate ( vs ); the paper does not reconcile them (the appendix gives the more detailed schedule).

Appendix C: development-set results (Table 6, x100)

The site allows only two submissions per day to avoid overfitting to private test data, so dev results serve as the reference for future work. (For MNLI the dev number is accuracy averaged over matched and mismatched; the caption wording says “test sets” but means dev.)

ModelAvgCoLASST-2MRPCQQPSTS-BMNLIQNLIRTEWNLI
Single-task training
BiLSTM66.717.687.577.9/85.185.3/82.071.6/72.066.777.058.556.3
+ELMo68.744.191.570.8/82.388.0/84.370.3/70.568.671.253.456.3
+CoVe66.825.189.276.5/83.486.2/81.870.7/70.862.474.459.654.9
+Attn66.917.687.572.8/82.987.7/83.966.6/66.770.077.258.560.6
+Attn, ELMo67.944.191.571.1/82.187.8/83.657.9/56.172.475.252.756.3
+Attn, CoVe65.625.189.272.8/82.486.1/81.359.4/58.067.972.558.157.7
Multi-task training
BiLSTM60.018.682.375.0/82.784.4/79.369.0/66.965.674.959.99.9
+ELMo63.126.490.980.2/86.784.2/79.772.9/71.567.476.055.614.1
+CoVe59.39.882.073.8/81.083.4/76.664.5/61.965.570.452.732.4
+Attn60.515.283.177.5/85.182.6/77.272.4/70.568.073.761.79.9
+Attn, ELMo67.336.791.180.6/86.684.6/79.674.4/72.974.680.461.422.5
+Attn, CoVe61.417.482.171.3/80.183.4/77.768.6/66.768.273.258.529.6
Pre-trained sentence representation models
CBoW61.44.679.575.0/83.775.0/65.570.6/71.157.162.571.956.3
Skip-Thought61.80.082.076.2/84.378.9/70.774.8/74.863.458.573.449.3
InferSent65.78.683.976.5/84.181.7/75.980.2/80.467.863.571.556.3
DisSent63.811.782.577.0/84.481.8/75.668.9/69.061.259.973.956.3
GenSen67.810.387.280.4/86.282.6/76.681.3/81.871.462.578.456.3

Observations from comparing Tables 4 and 6.

  • On dev, multi-task training is worse than single-task for the BiLSTM-only baselines (60.0 vs 66.7), whereas on test it was slightly better (64.2 vs 63.9). The multi-task dev averages are dragged down by WNLI (9.9 to 32.4) because the WNLI dev set is adversarial against models that memorize training pairs. The test WNLI scores are set to the majority baseline (65.1), which hides this.
  • The best dev average is 67.9 (single-task +Attn,ELMo) with GenSen (67.8) and multi-task +Attn,ELMo (67.3) close behind; on test the multi-task +Attn,ELMo wins at 70.0. Rankings differ between dev and test, evidence for why a private test set is useful.
  • RTE dev scores for pre-trained encoders (71.5 to 78.4) greatly exceed their test scores (53.1 to 59.2): a large dev-test gap on a very small dataset.

Appendix D: benchmark website

React, Redux and TypeScript front end; Google Firebase for storage; Google Cloud Functions to host and run the grading script at submission. Figure 1 shows the leaderboard with an expandable view per submission giving a brief prose description and parameter count.

Appendix E: diagnostic details

Four broad categories subdivided into fine-grained phenomena; definitions and examples are transcribed in Wang 2018 - Diagnostic Dataset, including Table 7 (counts and label proportions by coarse category).

Examples

Quantifying the dev-test gap

For GenSen, RTE dev vs RTE test (gap points). For InferSent: vs (). The RTE test set has 3k examples vs a dev set of 277 (not stated in this paper), so the dev estimate is much noisier. A gap of this size is far beyond what sampling noise at would produce (standard error about points), pointing to a distribution shift between RTE dev and test.

import numpy as np
dev  = {"CBoW":71.9,"Skip-Thought":73.4,"InferSent":71.5,"DisSent":73.9,"GenSen":78.4}
test = {"CBoW":54.1,"Skip-Thought":53.1,"InferSent":58.0,"DisSent":56.4,"GenSen":59.2}
gaps = {k: round(dev[k]-test[k],1) for k in dev}
print(gaps, np.mean(list(gaps.values())))
n=3000; p=0.58
print("SE of accuracy at n=3000:", round(100*np.sqrt(p*(1-p)/n),2))

Connections

Relevance to marketing measurement. Keep a never-touched holdout set of experiments for final method comparison and treat dev-set winners cautiously; in-sample or tuned-holdout comparisons of MMM variants show the same optimism.

See Also