In this section, we highlight some simple ways to further accelerate the parallel generation algorithm. For example, note that one can reduce the attention's memory cost by computing the diagonal attention simply as elementwise (rather than pairwise) dot-products. That is, given two input embedding sequences of shapes \((b,t,l,d)\) and \((b,1,l,d)\) where \(t\) is the number of timesteps ahead, \(b\) is batch size, \(l\) is sequence length, and \(d\) is embedding dimension, we do not need to compute their pairwise attention of shape \((b,t,l,l)\), we only need to compute the attention for the paired elements along the diagonal of shape \((b,t,l)\). Additionally, to avoid generating continuations for all of the tokens (for example, if one wanted to apply a value function to determine where thoughts would be most useful), one can index into this generated attention mask. Notably, however, this also requires manipulation of the other inputs during the forward pass such as the positional embeddings.
이 섹션에서는 병렬 생성 알고리즘을 더욱 가속화할 수 있는 몇 가지 간단한 방법을 중점적으로 설명합니다. 예를 들어, 대각선 attention을 쌍별(쌍별) dot-products이 아닌 요소별 dot-products으로 계산하여 attention의 메모리 비용을 줄일 수 있다는 점에 유의하세요. 즉, \((b,t,l,d)\) 및 \((b,1,l,d)\) 모양의 두 입력 embedding 시퀀스가 주어지면, 여기서 \(t\)는 앞으로의 시간 간격 수, \(b\)는 batch size, \(l\)은 시퀀스 길이, \(d\)는 embedding 차원입니다, 우리는 \((b,t,l,l)\) 모양의 쌍별 attention을 계산할 필요 없이 \((b,t,l)\) 모양의 대각선을 따라 짝을 이룬 요소에 대한 attention만 계산하면 됩니다. 또한 모든 토큰에 대해 연속을 생성하지 않으려면(예를 들어, 어디에서 생각이 가장 유용할지 결정하기 위해 value function을 적용하려는 경우) 이렇게 생성된 attention mask에 인덱싱할 수 있습니다. 그러나 이를 위해서는 positional embeddings과 같은 forward pass 중 다른 입력을 조작해야 합니다.
이 섹션에서는 병렬 생성 알고리즘을 더욱 가속화할 수 있는 몇 가지 간단한 방법을 중점적으로 설명합니다. 예를 들어, 대각선 주의를 쌍별(쌍별) 도트 곱이 아닌 요소별 도트 곱으로 계산하여 주의의 메모리 비용을 줄일 수 있다는 점에 유의하세요. 즉, (b,t,l,d)\) 및 \((b,1,l,d)\) 모양의 두 입력 임베딩 시퀀스가 주어지면, 여기서 \(t\)는 앞으로의 시간 간격 수, \(b\)는 배치 크기, \(l\)은 시퀀스 길이, \(d\)는 임베딩 차원입니다, 우리는 (b,t,l,l)\) 모양의 쌍별 주의도를 계산할 필요 없이 (b,t,l)\) 모양의 대각선을 따라 짝을 이룬 요소에 대한 주의도만 계산하면 됩니다. 또한 모든 토큰에 대해 연속을 생성하지 않으려면(예를 들어, 어디에서 생각이 가장 유용할지 결정하기 위해 값 함수를 적용하려는 경우) 이렇게 생성된 주의 마스크에 인덱싱할 수 있습니다. 그러나 이를 위해서는 포지셔널 임베딩과 같은 포워드 패스 중 다른 입력을 조작해야 합니다.