>기술 주변기기 >일체 포함 >단어 임베딩이 매개변수의 비율을 너무 많이 나타내나요? MorphTE 방식으로 손실 없는 20배 압축 효과

단어 임베딩이 매개변수의 비율을 너무 많이 나타내나요? MorphTE 방식으로 손실 없는 20배 압축 효과

王林
王林앞으로
2023-05-17 16:01:061298검색

소개

워드 임베딩 표현은 기계 번역, 질문 응답, 텍스트 분류 등 다양한 자연어 처리 작업의 기초입니다. 일반적으로 전체 모델 매개변수의 20%~90%를 차지합니다. 이러한 임베딩을 저장하고 액세스하려면 많은 공간이 필요하므로 리소스가 제한된 장치에 모델을 배포하고 적용하는 데 도움이 되지 않습니다. 이 문제를 해결하기 위해 이 기사에서는 MorphTE 단어 임베딩 압축 방법을 제안합니다. MorphTE는 텐서 곱 작업의 강력한 압축 기능과 언어 형태학에 대한 사전 지식을 결합하여 모델 성능을 유지하면서 단어 임베딩 매개변수의 높은 압축( 20배 이상)을 달성합니다.

단어 임베딩이 매개변수의 비율을 너무 많이 나타내나요? MorphTE 방식으로 손실 없는 20배 압축 효과

  • 논문 링크: https://arxiv.org/abs/2210.15379
  • 오픈 소스 코드: https://github.com/bigganbing/Fairseq_MorphTE

모델

본 글에서 제안하는 MorphTE 단어 임베딩 압축 방법은 먼저 단어를 의미론적 의미를 갖는 가장 작은 단위인 형태소로 나누고, 각 형태소에 대해 저차원 벡터 표현을 훈련한 후, 텐서 곱을 사용하여 저차원 양자를 구현하는 것입니다. 차원 형태소 벡터 얽힌 상태를 수학적으로 표현하여 고차원 단어 표현을 얻습니다.

01 단어의 형태소 구성

언어학에서 형태소는 특정한 의미나 문법 기능을 지닌 가장 작은 단위입니다. 영어와 같은 언어의 경우 단어는 어근, 접사와 같은 더 작은 단위의 형태소로 나눌 수 있습니다. 예를 들어, "unkindly"는 부정을 나타내는 "un", "Friendly"와 같은 것을 나타내는 "kind", 부사를 나타내는 "ly"로 나눌 수 있습니다. 중국어의 경우 한자는 부수와 같은 더 작은 단위로 분할될 수도 있습니다. 예를 들어 "MU"는 물을 나타내는 "氵"과 "木"로 분할될 수 있습니다.


단어 임베딩이 매개변수의 비율을 너무 많이 나타내나요? MorphTE 방식으로 손실 없는 20배 압축 효과


형태소에는 의미가 포함되어 있지만 단어 간에 공유하여 다른 단어를 연결할 수도 있습니다. 또한 제한된 수의 형태소를 결합하여 더 많은 수의 단어를 만들 수 있습니다.

02 얽힌 텐서 형태의 단어 임베딩 압축 표현

단어 임베딩이 매개변수의 비율을 너무 많이 나타내나요? MorphTE 방식으로 손실 없는 20배 압축 효과

관련 작업 Word2ket은 텐서 곱을 사용하여 단일 단어 임베딩을 여러 저차원 벡터의 얽힌 텐서 형태로 표현합니다. 공식은 다음과 같습니다. :

단어 임베딩이 매개변수의 비율을 너무 많이 나타내나요? MorphTE 방식으로 손실 없는 20배 압축 효과

여기서 , r은 순위, n은 순서, 는 텐서 곱을 나타냅니다. Word2ket은 이러한 저차원 벡터를 저장하고 사용하여 고차원 단어 벡터를 구축하면 효과적으로 매개변수를 줄일 수 있습니다. 예를 들어 r = 2이고 n = 3인 경우 차원이 512인 단어 벡터는 각 그룹에 차원이 8인 3개의 저차원 벡터 텐서로 구성된 두 그룹을 통해 얻을 수 있습니다. 필요한 횟수가 512에서 48로 감소되었습니다.

03 형태론이 강화된 텐서 단어 임베딩 압축 표현

Word2ket은 텐서 제품을 통해 확실한 매개변수 압축을 달성할 수 있습니다. 그러나 일반적으로 고전력 압축 및 압축과 같은 더 복잡한 작업에서는 사전 압축 성능을 달성하기가 어렵습니다. 기계 번역. 저차원 벡터는 얽힘 텐서를 구성하는 기본 단위이고, 형태소는 단어를 구성하는 기본 단위이기 때문입니다. 본 연구에서는 언어 지식의 도입을 고려하여 저차원 형태소 벡터를 훈련하고 단어에 포함된 형태소 벡터의 텐서 곱을 사용하여 해당 단어 임베딩 표현을 구성하는 MorphTE를 제안합니다.

단어 임베딩이 매개변수의 비율을 너무 많이 나타내나요? MorphTE 방식으로 손실 없는 20배 압축 효과

구체적으로는 먼저 형태소 분할 도구를 사용하여 어휘 목록 V의 단어를 분할합니다. 모든 단어의 형태소는 형태소 목록 M을 형성하며, 형태소 수는 단어 수()보다 현저히 적습니다. ).

각 단어에 대해 형태소 테이블의 각 단어에 포함된 형태소의 위치를 ​​가리키는 형태소 인덱스 벡터를 구성합니다. 모든 단어의 형태소 색인 벡터는 단어 임베딩이 매개변수의 비율을 너무 많이 나타내나요? MorphTE 방식으로 손실 없는 20배 압축 효과의 형태소 색인 행렬을 형성하며, 여기서 n은 MorphTE의 차수입니다.

어휘의 j번째 단어 단어 임베딩이 매개변수의 비율을 너무 많이 나타내나요? MorphTE 방식으로 손실 없는 20배 압축 효과에 대해 해당 형태소 색인 벡터 단어 임베딩이 매개변수의 비율을 너무 많이 나타내나요? MorphTE 방식으로 손실 없는 20배 압축 효과를 사용하여 매개변수화된 형태소 임베딩 행렬의 r 그룹에서 해당 형태소 벡터를 색인화하고 텐서 곱을 통해 얽힘 확장을 수행합니다.

단어 임베딩이 매개변수의 비율을 너무 많이 나타내나요? MorphTE 방식으로 손실 없는 20배 압축 효과

위의 방법을 통해 MophTE는 단어 임베딩 표현에 형태소 기반 언어 사전 지식을 주입할 수 있으며, 동시에 형태소 벡터는 다른 단어에서 사용되며 단어 간 공유는 명시적으로 단어 간 연결을 구축할 수 있습니다. 또한 형태소의 수와 벡터 차원은 어휘의 크기와 차원보다 훨씬 낮으며 MophTE는 두 관점 모두에서 단어 임베딩 매개변수의 압축을 달성합니다. 따라서 MophTE는 단어 임베딩 표현의 고품질 압축을 달성할 수 있습니다.

실험

이 글에서는 주로 다양한 언어의 번역, 질의응답 작업에 대한 실험을 진행하고, 이를 관련 분해 기반 단어 임베딩 압축 방법과 비교합니다.

단어 임베딩이 매개변수의 비율을 너무 많이 나타내나요? MorphTE 방식으로 손실 없는 20배 압축 효과

표에서 볼 수 있듯이 MorphTE는 영어, 독일어, 이탈리아어 등 다양한 언어에 적응할 수 있습니다. 20배 이상의 압축 비율에서 MorphTE는 원래 모델의 효과를 유지할 수 있는 반면, 거의 모든 다른 압축 방법은 효과가 감소합니다. 또한 MorphTE는 40배 이상의 압축 비율로 다양한 데이터 세트에서 다른 압축 방법보다 더 나은 성능을 발휘합니다.

단어 임베딩이 매개변수의 비율을 너무 많이 나타내나요? MorphTE 방식으로 손실 없는 20배 압축 효과

마찬가지로 WikiQA의 질의응답 작업과 SNLI의 자연어 추론 작업에서 MorphTE는 모델의 효과를 유지하면서 각각 81배와 38배의 압축률을 달성했습니다.

결론

MorphTE는 사전 형태론적 언어 지식과 텐서 제품의 강력한 압축 기능을 결합하여 단어 임베딩의 고품질 압축을 달성합니다. 다양한 언어 및 작업에 대한 실험에서는 MorphTE가 모델 효과를 손상시키지 않고 단어 임베딩 매개변수를 20~80배 압축할 수 있음을 보여줍니다. 이는 형태소 기반 언어 지식의 도입이 단어 임베딩의 압축 표현 학습을 향상시킬 수 있음을 검증합니다. MorphTE는 현재 형태소만 모델링하지만 실제로는 프로토타입, 품사, 대문자 사용 등과 같은 선험적 언어 지식을 명시적으로 모델링하는 일반적인 단어 임베딩 압축 향상 프레임워크로 확장되어 단어 임베딩 표현을 더욱 향상시킬 수 있습니다.

위 내용은 단어 임베딩이 매개변수의 비율을 너무 많이 나타내나요? MorphTE 방식으로 손실 없는 20배 압축 효과의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제