natural language processing - university of california, …klein/cs288/fa14/...slide credit: slav...

106
1 Natural Language Processing Machine Translation III Dan Klein – UC Berkeley

Upload: buihanh

Post on 24-May-2018

218 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

1

Natural Language Processing

Machine Translation IIIDan Klein – UC Berkeley

Page 2: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

2

Syntactic Models

Page 3: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

3

Page 4: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

4

Page 5: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

5

Page 6: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

6

Page 7: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

7

Page 8: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

8

Page 9: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

9

Page 10: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

10

Page 11: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

11

Page 12: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

12

Page 13: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

13

Page 14: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

14

Page 15: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

15

Page 16: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

16

Page 17: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

17

Page 18: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

18

Page 19: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

19

Page 20: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

20

Page 21: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

21

Page 22: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

22

Page 23: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

23

Page 24: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

24

Page 25: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

25

Page 26: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

26

Page 27: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

27

Page 28: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

28

Page 29: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

29

Syntactic Decoding

Page 30: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

30

Page 31: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

31

Page 32: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

32

Page 33: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

33

Page 34: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

34

Page 35: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

35

Page 36: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

36

Page 37: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

37

Page 38: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

38

Page 39: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

39

Page 40: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

40

Page 41: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

41

Page 42: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

42

Page 43: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

43

Page 44: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

44

Page 45: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

45

Page 46: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

46

Page 47: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

47

Page 48: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

48

Page 49: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

49

Flexible Syntax

Page 50: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

50

Soft Syntactic MT: From Chiang 2010

Page 51: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

51

Page 52: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

52

Hiero Rules

From [Chiang et al, 2005]

Page 53: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

53

Page 54: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

54

Page 55: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

55

Page 56: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

56

Page 57: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

57

Page 58: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

58

Page 59: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

59

Page 60: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

60

Page 61: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

61

Page 62: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

62

Page 63: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

63

Page 64: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

64

Page 65: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

65

Exploiting GPUs

Page 66: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

66

Lots to Parse

≈2.6 billion words

Page 67: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

67

Lots to Parse

≈6 months (CPU)

Page 68: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

68

Lots to Parse

≈3.6 days (GPU)

Page 69: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

69

CPU Parsing

• NLP algorithms achieve speed by exploiting sparsity.>98% sparsity

Slide credit: Slav Petrov

[Petrov & Klein, 2007]

Page 70: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

70

CPU Parsing

Grammar

S

NP VP××××

Skip Spans Skip Rules

Page 71: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

71

CPU Parsing

CPU

Page 72: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

72

CPU Parsing

CPU

Page 73: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

73

CPU Parsing

CPU

CPU

Page 74: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

74

The Future of Hardware

Page 75: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

75

The Future of Hardware

Page 76: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

76

The Future of Hardware

Page 77: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

77

The Future of Hardware

16384

Page 78: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

78

The Future of Hardware

32 Threads

Page 79: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

79

The Future of Hardware

Warp

add.s32 %r1, %r631, %r0;ld.global.f32 %f81, [%r1];ld.global.f32 %f82, [%r34];mul.ftz.f32 %f94, %f82, %f81;mov.f32 %f95, 0f3E002E23;mov.f32 %f96, 0f00000000;mad.f32 %f93, %f94, %f95, %f96;shl.b32 %r2, %r646, 8;add.s32 %r3, %r658, %r2;shl.b32 %r4, %r3, 2;add.s32 %r5, %r631, %r4;mul.lo.s32 %r6, %r646, 588;shl.b32 %r7, %r6, 1;add.s32 %r8, %r5, %r7;ld.global.f32 %f83, [%r8];mul.ftz.f32 %f98, %f82, %f83;

Page 80: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

80

Warps

Warp

Page 81: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

81

Warps

Warp Divergence

Page 82: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

82

Warps

Page 83: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

83

Warps

Page 84: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

84

Warps

Warp Divergence

Page 85: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

85

Warps

Warp Divergence

Page 86: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

86

Warps

✗Coalescence

Page 87: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

87

Designing GPU Algorithms

Dense, Uniform Computation

Warp Coalescence

Page 88: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

88

Designing GPU Algorithms

Irregular,Sparse

Regular,Dense

CPU GPU

×××××

Page 89: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

89

Designing GPU Algorithms

Irregular,Sparse

Regular,Dense

CPU GPU

×××××

[Canny, Hall, and Klein, 2013]

××××

Page 90: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

90

Designing GPU Algorithms

CKY Algorithm

Page 91: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

91

CKY Parsing

for each sentence:for each span (begin, end):for each split:for each rule (P ‐> L R):score[begin, end, P] += ruleScore[P ‐> L R]* score[begin, split, L]* score[split, end, R]

Grammar Application

Item Queue

Page 92: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

92

CKY Parsing

for each sentence:for each span (begin, end):for each split:

applyGrammar(begin, split, end)

Item Queue

Grammar Application

Page 93: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

93

CKY Parsing

for each parse item in sentence:

applyGrammar(item)

Item Queue

Grammar Application

Page 94: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

94

CKY Parsing

for each parse item in sentence:

applyGrammar(item)

CPU

GPU

Page 95: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

95

GPU Parsing PipelineCPU GPU

Queue(i,   k,   j)

(1,  2,  4)(1,  3,  4)

Grammar

S

NP VP(0,  1,  3)(0,  2,  3)

32

(0,  1,  3)

Page 96: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

96

Parsing Speed

[Canny, Hall, and Klein, 2013]

GPU190 s/sec

CPU10 s/sec

0 100 200 300 400 500Sentences per second

Page 97: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

97

Exploiting Sparsity

Grammar

S

NP VP××××

CPU Queuing GPU Application

Page 98: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

98

Exploiting Sparsity

Grammar

S

NP VP

GPU Application

Grammar

S

NP VP

GPU Application

Page 99: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

99

Exploiting Sparsity

Warp

(1,  2,  4)

(0,  1,  3)(0,  2,  3)

(1,  3,  4)

(2,  3,  5)(2,  4,  5)(3,  4,  6)

32

Page 100: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

100

Exploiting Sparsity

(1,  2,  4)

(0,  1,  3)(0,  2,  3)

(1,  3,  4)

(2,  3,  5)(2,  4,  5)(3,  4,  6)

S NP VP PP …S NP VP PP …S NP VP PP …S NP VP PP …

S NP VP PP …S NP VP PP …S NP VP PP …

Page 101: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

101

Exploiting Sparsity

Warp Divergence

Page 102: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

102

Exploiting Sparsity

Grammar

S

NP VP

GPU Application

Page 103: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

103

Exploiting Sparsity

NPNP

NP PP

VPVP

VP PP

SS

NP VP

PPPP

IN NP

NP(i,   k,   j)

(0,  1,  3)(0,  2,  3)

VP(i,   k,   j)

(0,  1,  3)(0,  2,  3)

S(i,   k,   j)

(0,  1,  3)(0,  2,  3)

PP(i,   k,   j)

(0,  1,  3)(0,  2,  3)

Queue(i,   k,   j)

(0,  1,  3)(0,  2,  3)

Page 104: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

104

Exploiting SparsityCPU GPU

NP Queue(i,   k,   j)

(1,  2,  4)(1,  3,  4)

(0,  1,  3)(0,  2,  3)

NPNP

NP PPNPNP

NP PPNPNP

NP PPNPNP

NP PPNPNP

NP PP

Page 105: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

105

Exploiting SparsityCPU GPU

VP Queue(i,   k,   j)

(1,  2,  4)(1,  3,  4)

(0,  1,  3)(0,  2,  3)

NPNP

NP PPNPNP

NP PPNPNP

NP PPVPVP

VP NP

Page 106: Natural Language Processing - University of California, …klein/cs288/fa14/...Slide credit: Slav Petrov [Petrov & Klein, 2007] 70 CPU Parsing Grammar S NP VP × ××× Skip Spans

106

Parsing Speed

GPU Min Risk

190 s/sec

GPU Vit.405 s/sec

CPU10 s/sec

0 100 200 300 400 500