Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from...

73
Please enjoy. 1

Transcript of Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from...

Page 1: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Please enjoy.

1

Page 2: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

CIS 522: Generative RNNs

Feb 27, Guest lecture by the one and only Jeff

2

Page 3: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

This is a lecture at the intersection of many topics.By the end, I hope you may have some insight on:● How to abuse design RNNs to solve specific problem domains● What voodoo magic to invoke in order to convince skeptical

people that your models are awesome● How to leverage really good data science into USD $MM

3

Page 4: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

I have a pet peeve.

4

Page 5: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

I have a pet peeve.“CNNs are for CV; RNNs are for NLP.”

5

Page 6: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Claim: architectures should be chosen based on how their inductive bias / prior fits your

problem domain.

6

Page 7: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Recall from module 11: a more systematic, rigorous way to consider how to model

sequence data (including text and language problems).

7

Page 8: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

There are 4 canonical ways to deal with variable length.1. Truncation: chop off the tail.2. Bagging: turn the vector into a count-dict.3. Convolution: convolute over a fixed-length filter and aggregate the results.4. Recurrence: make your forward pass variable-length.

Page 9: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Each of the 4 methods has its own prior.1. Truncation: chop off the tail.

a. Use when you have a ranking of the most important features (similar to PCA).b. Ex: for each person in a group, we have a variable-length ranked list of their favorite

books.2. Bagging: turn the vector into a count-dict.

a. Use when your prior is that syntax (i.e. ordering) does not matter.b. Ex: for each baseball player in a game, we have a sequence of strikes / hits.

3. Convolution: convolute over a fixed-length filter and aggregate the results.a. Use when your prior is that only short-term syntax matters.b. Ex: n-gram models

4. Recurrence: make your forward pass variable-length.a. Use when your prior is that both short-term and long-term ordering matters.b. Ex: most general-purpose NLP architectures

Page 10: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

This begs a very reasonable follow-up question.

10

Page 11: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

What exactly is the point of a data scientist?

11

Page 12: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

What is the marginal benefit of hiring a data scientist vs. having your ETL data

engineer guy just use AutoML on everything?

12

Page 13: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

The original purpose of CIS 700-004.● Learn to identify which problems are well-solved by DL solutions.

● Learn how inductive biases improve performance and how to induce good ones.

● Learn how to create and present high-quality findings from DL models.

13

Page 14: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

The original purpose of CIS 700-004.● Learn to identify which problems are well-solved by DL solutions.

● Learn how inductive biases improve performance and how to induce good ones.○ Typically reduce the number of trainable parameters.○ Makes your pipeline less data-hungry.

● Learn how to create and present high-quality findings from DL models.

14

Page 15: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

The original purpose of CIS 700-004.● Learn to identify which problems are well-solved by DL solutions.

● Learn how inductive biases improve performance and how to induce good ones.○ Typically reduce the number of trainable parameters.○ Makes your pipeline less data-hungry.

● Learn how to create and present high-quality findings from DL models.○ Understand how to phrase the impact of your models to technical and non-technical

audiences.○ Learn to interpret your models and model outputs.

15

Page 16: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Roadmap for today’s lecture● Define a generative RNN.

● Identify what problem domains its “shape” most conveniently solves.

● Interpret the outputs of generative models.○ We’ll visit Andrej Karpathy’s glorious, glorious Ode to the RNN.

● Analyze 2 case studies of applying inductive biases to generative RNNs.○ LyreBird’s SampleRNN○ The BALM framework

16

Page 17: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

What is a generative RNN?

17

Page 18: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

This picture does not tell much of a story.

18

Page 19: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Recall the API of an RNN.

19

Input

State

Output

Updated State

Page 20: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

RNNs come in 3 shapes.● “Encoders”: variable-length input to fixed-length output

○ (n → k)

● “Taggers”: variable-length input and output○ (n → n)

● “Decoders / Generative RNNs”: fixed-length input, variable-length output○ (k → n)

Note that the degenerate case (fixed-length input and output) is just a feedforward network.

20

Page 21: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Encoders

21

Page 22: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Encoders: variable-length input

22

Input

Label

(Here’s the shape.)

Page 23: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Encoders: variable-length input

23

Jeffrey

0.95

Input

Label

rocks <end>

(Here’s a sentiment analysis example.)

Page 24: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Encoders: variable-length input

24

Input

Label

NoiseState

Output Ignore output

Page 25: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Encoders: variable-length input

25

Input

Label

State

Output

Ignore output

Ignore output

Page 26: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Encoders: variable-length input

26

Input

Label

State

Output Ignore output

Ignore output

Ignore state

Page 27: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Encoders: variable-length input

27

Input

Label

State

Output Ignore output

Ignore output

BackpropagateThrough Time

Ignore state

Page 28: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Taggers

28

Page 29: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Taggers: variable-length input and output

29

Input

Label

(Here’s the shape.)

Page 30: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Taggers: variable-length input and output

30

Input

Label

Note that the input and output usually have the same length.

Page 31: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Taggers: variable-length input and output

31

Jeffrey

Unk

Input

Label

rocks <end>

Noun Verb

(And here’s a part-of-speech tagging example.)

Page 32: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Taggers: variable-length input and output

32

Input

Label

NoiseState

Output

Page 33: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Taggers: variable-length input and output

33

Input

Label

NoiseState

Output

Page 34: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Taggers: variable-length input and output

34

Input

Label

NoiseState

Output

BackpropagateThrough Time

Ignore state

Page 35: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

DecodersAKA Generative RNNs

35

Page 36: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Decoders: variable-length output

36

Input

Label

(Here’s the shape.)

Page 37: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Decoders: variable-length output

37

Mystery vector

<end>

Input

Label Jeffrey rocks

(Mysterious example: stay tuned)

Page 38: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Decoders: variable-length output

38

Label

NoiseInput

Output

Mystery vector as initial state

Page 39: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Decoders: variable-length output

39

Label

Output

NoiseInput

Mystery vector as initial state

Page 40: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

BackpropagateThrough Time

Decoders: variable-length output

40

Label

Output

Ignore state

NoiseInput

Mystery vector as initial state

Page 41: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

So RNNs come in 3 shapes. Who cares?● Feedforward networks: fixed-length I/O● Encoders: variable-length input, fixed-length output● Taggers: variable-length input and output (if they have the same length)● Generative RNNs: fixed-length input, variable-length output

These are the 4 lego blocks that we have to work with. I claim that you can solve any problem domain with just these four shapes.

41

Page 42: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Intuition checkHold up, we said that we can solve any problem shape with just these four building blocks.

Popular problems like machine translation have sequence inputs and outputs that need not have the same length.

What gives?

42

Page 43: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

The seq2seq framework

43

Jeffrey rocks <end>

程杰夫 太 棒 了 <end>

Page 44: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

The seq2seq framework

44

Jeffrey rocks <end>

程杰夫 太 棒 了 <end>

Mysterious vectorSomething that takes in sequences and outputs fixed-length vectors

Something that takes in fixed-length vectors and outputs sequences

Page 45: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

The seq2seq framework

45

Jeffrey rocks <end>

程杰夫 太 棒 了 <end>

Embedding

Page 46: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Some informal definitions●  

46

Page 47: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

PixelRNN

47

Page 48: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Image captioning

48

Page 49: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Why should we care about interpretability?

49

Page 50: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Example 1● Suppose a model converges to a loss within floating-point error; is it a good model?

50

Page 51: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Example 1● Suppose a model converges to a loss within floating-point error; is it a good model?

○ I accidentally repeated the same batch of my training data every pass.○ Test accuracy was 0%.

51

Page 52: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Example 2●  

52

Page 53: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Example 2●  

53

Page 54: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Example 3● Suppose a NLU (natural language understanding) model achieves 87% accuracy, and

I’ve unit-tested every part of the pipeline, having complete faith that I’ve done everything correctly. Is it a good model?

54

Page 55: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Example 3● Suppose a NLU (natural language understanding) model achieves 87% accuracy, and

I’ve unit-tested every part of the pipeline, having complete faith that I’ve done everything correctly. Is it a good model?

● I later ran an out-of-the-box CRF that achieved 89%.

55

Page 56: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Example 4● Suppose I gave a generative model the following completely original and fictitious prompt:

○ In a shocking finding, scientists discovered a herd of unicorns living in a remote, previously unexplored valley, in the Andes Mountains. Even more surprising to the researchers was the fact that the unicorns spoke perfect English.

● And it wrote the following:

The scientist named the population, after their distinctive horn, Ovid’s Unicorn. These four-horned, silver-white unicorns were previously unknown to science.Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains when they found a small valley, with no other animals or humans. Pérez noticed that the valley had what appeared to be a natural fountain, surrounded by two peaks of rock and silver snow.Pérez and his friends were astonished to see the unicorn herd. These creatures could be seen from the air without having to move too much to see them – they were so close they could touch their horns.While examining these bizarre creatures the scientists discovered that the creatures also spoke some fairly regular English. Pérez stated, “We can see, for example, that they have a common ‘language,’ something like a dialect or dialectic.”Dr. Pérez believes that the unicorns may have originated in Argentina, where the animals were believed to be descendants of a lost race of people who lived there before the arrival of humans in those parts of South America…

56

Page 57: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Why interpretability matters● The process verifies the basic correctness of implementation.● Humans responsible for model can better deal with non-stationarity of data.● Interpretability builds trust downstream (to non-technical users of the models).● Interpretability informs future design / decisions around ML (e.g. data collection)

57

Page 58: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

BLEU (2002)● "bilingual evaluation understudy"● "the closer a machine translation is to a professional human translation, the better it is"

58

Page 59: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

The Ode to the RNN

59

Page 60: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

60

Page 61: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

61

Page 62: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Temperature

62

Page 63: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Review: language models● Language models assign probabilities to sequences of words.

63

Page 64: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Review: language models● Language models assign probabilities to sequences of words.

Previously: the n-gram assumption

64

Page 65: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

The Unreasonable Effectiveness of RNNshttp://karpathy.github.io/2015/05/21/rnn-effectiveness/

65

Page 66: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Karpathy’s RNNs generate remarkable outputs.

66

Page 67: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Karpathy analyzes the neuron-level behavior.

67

Page 68: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Case Studies

68

Page 69: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

The SampleRNN● https://arxiv.org/pdf/1612.07837.pdf

69

Page 70: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Why is the SampleRNN good data science?● Identified the correct shape.

○ used a generative RNN in order to produce sequences.● Used the correct inductive bias.

○ Understanding the waveform structure allowed the team to overcome the vanishing gradient problem.● Interpreted the models.

○ Looked at comparative losses to benchmarks and SOTA○ Visually compared the short-term and long-term waveform outputs to true audio.○ Actually listened to the output recordings and had real people rate them.

● https://youtu.be/VnFC-s2nOtI?t=167

70

Page 71: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

Bilingual is at Least Monolingual● https://arxiv.org/abs/1909.01146

71

Page 72: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

"“Drop your RNN and LSTM, they are no good!”

72

Page 73: Please enjoy.cis522/slides/CIS522_Lecture7R.pdf · Dr. Jorge Pérez, an evolutionary biologist from the University of La Paz, and several companions, were exploring the Andes Mountains

"Use attention. Attention really is all you need!" -- Eugenio Culurciello

73