맨위로가기

신경망 기계 번역

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

신경망 기계 번역(NMT)은 신경망을 사용하여 기계 번역을 수행하는 방법으로, 1980년대 후반부터 연구가 시작되었다. 초기에는 기술적 한계로 인해 큰 성과를 거두지 못했지만, 2010년대 중반 순환 신경망(RNN)과 어텐션 메커니즘을 결합한 seq2seq 모델의 등장으로 획기적인 발전을 이루었다. 2015년 바이두와 2016년 구글이 NMT 시스템을 도입하면서 주류 기술로 부상했으며, 2017년에는 트랜스포머 모델이 등장하여 성능을 더욱 향상시켰다. 최근에는 대규모 언어 모델(LLM)을 활용하여 번역하는 방식도 연구되고 있으며, NMT는 통계적 기계 번역(SMT)에 비해 메모리 사용량이 적고, 어텐션 메커니즘을 통해 장거리 의존성을 효과적으로 처리하는 등의 장점을 가진다.

더 읽어볼만한 페이지

  • 기계 번역 - 시스트란
    시스트란은 1960년대 초 기계 번역 시스템으로 시작하여 50개 이상의 언어를 지원하며, 현재 한국의 CSLi에 인수되었다.
  • 기계 번역 - 통계적 기계 번역
    통계적 기계 번역은 정보 이론에 기반하여 소스 언어 문자열에 대한 대상 언어 문자열의 번역 확률 분포를 통해 번역하는 방법으로, 베이즈 정리를 이용해 번역 모델과 언어 모델로 분리하고 빔 서치 등으로 최적 번역을 찾으며, 단어 기반에서 구, 구문, 계층적 구 기반 등으로 발전해 왔으나, 말뭉치 구축 비용, 오류 수정의 어려움, 어순이 다른 언어 간 성능 저하 등의 단점이 있다.
  • 전산언어학 - 알고리즘
    알고리즘은 문제 해결을 위한 명확하고 순서화된 유한 개의 규칙 집합으로, 알콰리즈미의 이름에서 유래되었으며, 수학 문제 해결 절차로 사용되다가 컴퓨터 과학에서 중요한 역할을 하며 다양한 방식으로 표현되고 효율성 분석을 통해 평가된다.
  • 전산언어학 - 단어 의미 중의성 해소
    단어 의미 중의성 해소(WSD)는 문맥 내 단어의 의미를 파악하는 계산 언어학 과제로, 다양한 접근 방식과 외부 지식 소스를 활용하여 연구되고 있으며, 다국어 및 교차 언어 WSD 등으로 발전하며 국제 경연 대회를 통해 평가된다.
  • 인공지능의 응용 - 가상 비서
    가상 비서는 음성 또는 텍스트 입력을 해석하여 정보 제공, 일정 관리, 기기 제어 등 다양한 작업을 수행하는 소프트웨어 에이전트로서, 시리, 알렉사, 구글 어시스턴트와 같은 다양한 형태로 발전해 왔으며, 챗GPT와 같은 생성형 AI 기반 가상 비서의 등장과 함께 발전하고 있지만 개인 정보 보호와 같은 과제도 존재한다.
  • 인공지능의 응용 - 질의 응답
    질의응답 시스템은 자연어 질문을 이해하고 답변을 생성하며, 질문 유형과 사용 기술에 따라 분류되고, 읽기 이해 기반 또는 사전 지식 기반으로 작동하며, 대규모 언어 모델과 다양한 아키텍처 발전에 힘입어 복잡한 질문에 대한 답변과 다양한 분야에 활용이 가능해졌다.
신경망 기계 번역

2. 역사

딥 러닝을 활용한 신경망 기계 번역(NMT)은 1980년대 후반부터 시도되었으나, 당시 기술적 한계로 큰 성과를 보지 못했다. 1990년대와 2000년대에는 통계적 기계 번역(SMT)이 주류를 이루었지만, 신경망을 활용하여 SMT 모델을 개선하려는 연구도 꾸준히 진행되었다.

2010년대 중반, 순환 신경망(RNN)과 어텐션 메커니즘을 결합한 seq2seq 모델이 등장하면서 NMT는 획기적인 발전을 이루었다.[44][45][46] 2015년에는 기계 번역 대회(OpenMT'15)에 NMT 시스템이 처음 등장하였고, 이듬해 WMT'15에서는 NMT 시스템이 우승자의 90%를 차지할 정도로 성장했다.

2017년에는 합성곱 신경망(CNN)과 트랜스포머 모델이 등장하여 NMT의 성능을 더욱 향상시켰다. 최근에는 GPT 3.5와 같은 생성형 LLM을 활용한 번역 방식도 등장하여 NMT 발전에 새로운 가능성을 제시하고 있다.

2. 1. 초기 접근

1987년, 로버트 B. 앨런은 31개의 단어로 제한된 어휘를 가진 자동 생성된 영어 문장을 스페인어로 번역하기 위해 피드포워드 신경망을 사용하는 것을 시연했다.[44] 이 실험에서, 네트워크가 임의 길이의 시퀀스를 고정 크기 표현으로 인코딩하는 메커니즘을 가지고 있지 않았기 때문에, 네트워크의 입력 및 출력 레이어의 크기는 각각 소스 언어와 대상 언어에서 가장 긴 문장에 충분하도록 선택되었다. 그의 요약에서 앨런은 또한 소스 인코딩용과 대상 디코딩용으로 각각 자동 연관 모델을 사용할 가능성을 이미 암시했다.

1991년, 로니 크리스만은 앨런의 연구를 기반으로 하여 소스 언어와 대상 언어에 대해 별도의 재귀적 자기 연관 메모리(RAAM) 네트워크(조던 폴락에 의해 개발됨)를 훈련시켰다. 각 RAAM 네트워크는 임의 길이의 문장을 고정 크기 숨겨진 표현으로 인코딩하고 해당 표현에서 원래 문장을 다시 디코딩하도록 훈련되었다. 또한, 두 네트워크는 숨겨진 표현을 공유하도록 훈련되었다. 이러한 방식으로, 소스 인코더는 대상 디코더가 디코딩할 수 있는 표현을 생성할 수 있었다. 1997년, 포르카다와 네코는 이를 "재귀적 이종 연관 메모리"라고 부르며 소스 인코더와 대상 디코더를 직접 훈련시키는 방식으로 이 과정을 단순화했다.

1997년, 카스타뇨와 카사쿠베르타는 매우 제한된 어휘와 복잡성을 가진 또 다른 기계 번역 작업에 엘만 네트워크를 사용했다.

이러한 초기 접근 방식이 이미 현대 NMT와 유사했지만, 당시의 컴퓨팅 자원은 실제 텍스트의 기계 번역 문제의 계산 복잡성에 충분할 만큼 큰 데이터 세트를 처리하기에 충분하지 않았다. 대신, 통계적 기계 번역과 같은 다른 방법들이 1990년대와 2000년대의 주류 기술로 부상했다.

2. 2. 하이브리드 접근

2000년대 후반, 홀거 슈벵크 등은 n-gram 언어 모델을 신경망 언어 모델로 대체하고, 피드포워드 네트워크를 사용하여 구문 번역 확률을 추정하는 등 통계적 기계 번역(SMT) 모델을 개선했다.

2. 3. seq2seq 모델

2013년과 2014년에 칼츠브레너와 블런섬은 합성곱 신경망(CNN)을 사용한 seq2seq 모델을, 조경현과 수츠케버 등은 순환 신경망(RNN)을 사용한 seq2seq 모델을 제안했다.[44] 이들 모델은 모두 번역 생성을 위해 소스의 고정된 인코딩을 조건으로 하는 RNN을 디코더로 사용했지만, 긴 문장에 대해서는 성능이 좋지 않았다.[45] 2015년, 바다나우 등은 인코더-디코더 아키텍처에 어텐션 메커니즘을 도입하여 이 문제를 해결했다.[46] 어텐션 메커니즘은 각 디코딩 단계에서 디코더의 상태를 사용하여 소스의 다른 부분에 초점을 맞춘 소스 표현을 계산하고, 다음 토큰에 대한 확률 계산에 이 표현을 사용하여 seq2seq 모델의 성능을 크게 향상시켰다.

2. 4. 트랜스포머 모델

2017년 바스와니 등(Vaswani et al.)은 트랜스포머를 소개했다. 트랜스포머는 인코더-디코더 단계에서 어텐션 메커니즘을 사용하여 인코더 출력을 가중한다. 트랜스포머의 인코더 및 디코더 네트워크는 순환 또는 컨볼루션 대신 어텐션을 기반으로 한다. 각 레이어는 '셀프 어텐션'이라는 프로세스에서 이전 레이어의 출력을 가중하고 변환한다. 어텐션 메커니즘은 토큰 순서에 대한 개념이 없지만 문장의 단어 순서는 관련이 있으므로 토큰 임베딩은 문장 내 위치에 대한 명시적 인코딩과 결합된다. 트랜스포머의 인코더와 디코더는 훈련 중에 병렬 처리할 수 있다. 그러나 원본 트랜스포머의 디코더는 여전히 자기 회귀적이므로 추론 중에는 한 번에 하나의 토큰씩 디코딩을 수행해야 한다.

트랜스포머 모델은 기계 번역 시스템의 지배적인 선택이 되었으며 2022년과 2023년 통계적 기계 번역 워크숍에서 여전히 가장 많이 사용되는 아키텍처였다.

2. 5. 생성형 LLM

2023년, 헨디 등은 GPT 3.5와 같은 생성형 LLM을 활용하여 번역 작업을 수행할 수 있음을 보였다. 이들은 "GPT 시스템이 특히 고자원 언어 번역에 대해 제로샷 설정에서도 매우 유창하고 경쟁력 있는 번역 결과를 생성할 수 있다"는 것을 발견했다.

3. 특징

신경망 기계 번역(NMT)은 기존의 통계적 기계 번역(SMT) 모델에 비해 적은 메모리를 사용한다. 또한, 번역 성능을 극대화하기 위해 모델의 모든 부분을 함께 (종단간으로) 훈련시킨다.

NMT는 단어 및 내부 상태에 대한 벡터 표현("임베딩")을 사용하여 통계적 기계 번역(SMT)의 희소성 문제를 극복하고 일반화 능력을 향상시킨다. NMT 모델은 구문 기반 모델보다 단순하며, 개별 언어 모델, 번역 모델, 재정렬 모델 없이 단일 시퀀스 모델을 사용하여 한 번에 하나의 단어를 예측한다. 이 시퀀스 예측은 소스 문장 전체와 이미 생성된 대상 시퀀스 전체를 조건으로 한다. NMT는 딥 러닝특징 학습을 이용한다.

순환 신경망(RNN)은 긴 입력을 단일 벡터로 인코딩하는 데 어려움을 겪는데, 이는 출력의 각 단어를 생성하는 동안 디코더가 입력의 다양한 부분에 집중할 수 있는 어텐션 메커니즘(attention mechanism|어텐션 메커니즘영어)에 의해 보정될 수 있다. 과거 정렬 정보를 무시하는 문제를 해결하기 위해 커버리지 모델(Coverage Models|커버리지 모델영어)[41] 등이 사용된다.

4. 작동 원리

신경망 기계 번역(NMT) 모델은 소스 언어의 문장(\mathbf{x})을 대상 언어의 문장(\mathbf{y})으로 번역한다. 소스 언어 문장은 I개의 토큰(x_i)으로, 대상 언어 문장은 J개의 토큰(x_j)으로 구성된다. NMT 모델은 가능한 번역 \mathbf{y}에 대한 확률 P(\mathbf{y}|\mathbf{x})를 할당하고, 이 확률이 가장 높은 번역을 찾는다.

대부분의 NMT 모델은 '자기 회귀' 방식을 사용하는데, 각 대상 토큰의 확률을 소스 문장과 이전에 예측된 대상 토큰의 함수로 모델링한다. 전체 번역의 확률은 개별 예측 토큰 확률의 곱으로 나타낼 수 있다.

:P(y|x) = \prod_{j=1}^{J} P(y_j | y_{1,i-1}, \mathbf{x})

대부분 NMT 모델은 인코더-디코더 아키텍처를 기반으로 한다. 인코더는 소스 문장 \mathbf{x}를 벡터 또는 행렬 표현으로 인코딩하고, 디코더는 이 표현과 이전에 생성된 토큰을 기반으로 한 번에 하나의 대상 단어를 생성한다. 디코더가 특수 '문장 종료' 토큰을 생성하면 디코딩이 완료된다. 디코더는 이전 출력을 참조하므로 '자기 회귀'라고 불린다.

신경망 기계 번역은 심층 학습과 Feature learning|특징 학습영어을 이용하며, 기존의 통계적 기계 번역과는 달리 단일 시퀀스 모델을 사용한다.

초기에 주로 사용된 순환 신경망(RNN)에서 인코더는 양방향 RNN으로 소스 문장을 인코딩하고, 디코더는 RNN을 사용하여 대상 언어 단어를 예측했다. 그러나 순환 신경망은 긴 입력을 단일 벡터로 인코딩하기 어려웠는데, 이는 어텐션 메커니즘을 통해 개선되었다. 어텐션 메커니즘은 디코더가 출력 단어를 생성하는 동안 입력의 다양한 부분에 집중하도록 돕는다. 커버리지 모델Coverage Models영어은 어텐션 메커니즘의 문제 해결을 위해 사용된다.[41]

합성곱 신경망(Convnets)은 긴 연속 시퀀스에 대해 강점을 가졌으나, 2017년에 "어텐션 메커니즘"을 통해 약점이 보완되었다.

트랜스포머 아키텍처는 주의 기반 모델로, 일부 언어 쌍에서 주요 아키텍처로 사용된다.[42][43]

4. 1. 훈련 방법

NMT(신경망 기계 번역) 모델은 훈련 데이터의 가능성을 최대화하는 방향으로 학습된다. 이는 주어진 소스 문장에 대해 훈련 데이터에서 각 대상 문장이 나타날 확률을 최대화하는 모델 매개변수 θ*를 찾는 것을 목표로 한다.

수식으로 표현하면 다음과 같다.

* = arg maxθiT Pθ(y(i)|x(i))

이를 토큰 수준으로 확장하면 다음과 같다.

* = arg maxθiTj=1J(i) P(yj(i) | y1,j-1(i), x(i))

부동 소수점 언더플로를 방지하기 위해 로그를 취하여 최대값을 찾는다.

* = arg maxθiT log∏j=1J(i) P(yj(i) | y1,j-1(i), x(i))

곱의 로그는 요인의 로그 합이라는 점을 이용하여 부호를 바꾸면 교차 엔트로피 손실 함수가 된다.

* = arg minθ - ∑iT log∑j=1J(i) P(yj(i) | y1,j-1(i), x(i))

실제로는 확률적 경사 하강법(SGD)을 사용하여 훈련 세트의 작은 하위 집합(미니 배치)에 대해 반복적으로 이 최소화를 수행한다.

교사 강요 기법은 훈련 초기 단계에서 모델의 학습 속도를 높이는 데 사용된다. 자기 회귀 디코더는 이전 단계에서 생성된 토큰을 입력으로 사용하는데, 훈련 초기에는 모델이 잘못된 토큰을 선택할 확률이 높다. 교사 강요는 이전 단계의 예측과 관계없이 항상 이전의 정답 토큰을 다음 토큰의 입력으로 제공함으로써 이 문제를 해결한다.

5. 통계적 기계 번역과의 비교

신경망 기계 번역(NMT)은 통계적 기계 번역(SMT)에 비해 다음과 같은 장점을 가진다.


  • 희소성 문제 해결: NMT는 토큰의 연속적인 표현을 사용하여 희소성 문제를 극복하고, 모델이 더 효과적으로 일반화할 수 있도록 한다.
  • 문맥 손실 문제 해결: SMT는 n-gram 언어 모델의 제한된 길이로 인해 문맥 손실이 발생했지만, NMT는 어텐션 메커니즘(attention mechanism영어)을 사용하여 다음 토큰을 생성할 때 어떤 토큰에 집중할지 선택함으로써 이 문제를 해결한다.
  • 종단간 훈련: NMT는 단일 모델을 종단간 훈련하여 번역 성능을 향상시키고 전체 프로세스를 단순화한다.
  • 메모리 효율성: SMT는 거대한 n-gram 모델을 사용하기 때문에 많은 양의 메모리가 필요했지만, NMT는 더 적은 메모리를 필요로 한다.
  • 단순화된 구조: NMT는 구문 기반 SMT와 달리 개별적인 언어 모델, 번역 모델, 재정렬 모델 없이 단일 시퀀스 모델을 사용하여 한 번에 하나의 단어를 예측한다.
  • 심층 학습 활용: NMT는 심층 학습과 Feature learning|특징 학습영어을 이용하여 소스 문장 전체와 이미 생성된 대상 시퀀스 전체를 고려하여 번역한다.
  • 장거리 의존성 처리: NMT는 RNN을 사용하여 긴 입력을 단일 벡터로 인코딩하는 데 어려움을 겪었지만, 어텐션 메커니즘을 통해 입력의 다양한 부분에 집중하여 이 문제를 해결한다. 또한, 과거 정렬 정보를 무시하는 문제를 해결하기 위해 커버리지 모델(Coverage Models영어)이 존재한다.[41]
  • 트랜스포머 아키텍처: 주의 기반 모델인 트랜스포머 아키텍처는 일부 언어 쌍에서 주요 아키텍처로 사용되고 있다.[42][43]

6. 프롬프트 엔지니어링 LLM을 활용한 번역

대규모 언어 모델(LLM)을 활용한 생성형 인공지능은, 병렬 텍스트로 훈련된 기존의 신경망 기계 번역(NMT) 시스템과는 달리, 텍스트 번역을 위한 프롬프트를 직접 받을 수 있다. 이 모델들은 번역 작업에 특화되어 훈련되지는 않지만, 대규모 텍스트 데이터 세트에서 얻은 언어 모델링 능력을 활용하여 번역을 수행한다.

생성형 LLM은 추가 예시 없이 텍스트 번역을 요청하는 제로샷 학습 방식을 사용하거나, 프롬프트에 번역 예시를 포함하는 원샷 또는 소수샷 학습 방식을 활용할 수 있다.

Hendy et al. (2023)의 연구에서는 제로샷 및 원샷 번역에 다음과 같은 프롬프트 형식이 사용되었다.

'''제로샷 프롬프트:'''



### 이 문장을 [소스 언어]에서 [대상 언어]로 번역하시오, 소스:

[소스 문장]

### 대상:



'''원샷 프롬프트:'''



이것을 1. [대상 언어]로 번역하시오:

[샷 1 소스]

1. [샷 1 참조]

이것을 1. [대상 언어]로 번역하시오:

[입력]

1.



LLM은 기존 NMT 시스템에 비해 훨씬 큰 규모와 높은 계산 비용을 요구한다. 예를 들어, GPT-3는 1,750억 개의 매개변수를 가진 반면, mBART는 6억 8천만 개, 트랜스포머-빅 모델은 2억 1,300만 개의 매개변수를 갖는다.

참조

[1] 웹사이트 Microsoft brings AI-powered translation to end users and developers, whether you're online or offline https://www.microsof[...] 2024-04-19
[2] 서적 Deep Learning https://www.deeplear[...] MIT Press 2022-12-29
[3] 서적 Neural Machine Translation http://www2.statmt.o[...] Cambridge University Press 2020
[4] 간행물 Neural Machine Translation: A Review and Survey 2020-09-29
[5] 간행물 Neural Machine Translation: A Review of Methods, Resources, and Tools 2020-12-31
[6] 간행물 A Survey of Deep Learning Techniques for Neural Machine Translation 2020-02-18
[7] 서적 Artificial Intelligence: A Modern Approach http://aima.cs.berke[...] Pearson
[8] 논문 Progress in Machine Translation https://www.scienced[...] 2022-11-01
[9] 논문 Survey of Low-Resource Machine Translation https://aclanthology[...] 2022
[10] conference Several Studies on Natural Language and Back-Propagation https://www.research[...] 2022-12-30
[11] 논문 Learning Recursive Distributed Representations for Holistic Computation https://figshare.com[...] 1991
[12] 논문 Recursive distributed representations https://dx.doi.org/1[...] 1990
[13] 서적 Biological and Artificial Computation: From Neuroscience to Technology 1997
[14] conference A connectionist approach to machine translation https://www.isca-spe[...] 1997
[15] conference Machine translation using neural networks and finite-state models https://aclanthology[...] 1997-07-23
[16] conference Continuous Space Language Models for Statistical Machine Translation https://aclanthology[...] 2006
[17] 논문 Contiuous space language models 2007
[18] 논문 Efficient Handling of N-gram Language Models for Statistical Machine Translation https://aclanthology[...] Association for Computational Linguistics 2007
[19] conference Continuous Space Translation Models for Phrase-Based Statistical Machine Translation https://aclanthology[...] 2012
[20] conference On the Properties of Neural Machine Translation: Encoder–Decoder Approaches Association for Computational Linguistics 2014
[21] conference Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation Association for Computational Linguistics 2014
[22] 논문 Sequence to Sequence Learning with Neural Networks https://proceedings.[...] Curran Associates, Inc. 2014
[23] 간행물 Neural Machine Translation by Jointly Learning to Align and Translate
[24] 논문 Recurrent Continuous Translation Models http://www.aclweb.or[...] 2013
[25] 간행물 Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation 2016
[26] conference A Convolutional Encoder Model for Neural Machine Translation https://aclanthology[...] Association for Computational Linguistics 2017
[27] conference Attention Is All You Need https://papers.nips.[...] 2017
[28] tech report Improving Language Understanding by Generative Pre-Training https://cdn.openai.c[...] 2023-12-26
[29] 논문 Multilingual Denoising Pre-training for Neural Machine Translation https://doi.org/10.1[...] 2020
[30] 논문 Language Models are Few-Shot Learners https://proceedings.[...] Curran Associates, Inc. 2020
[31] 논문 Transforming machine translation: a deep learning system reaches news translation quality comparable to human professionals 2020-09-01
[32] 논문 On "Human Parity" and "Super Human Performance" in Machine Translation Evaluation https://aclanthology[...] European Language Resources Association 2022
[33] 간행물 How Good Are GPT Models at Machine Translation? A Comprehensive Evaluation 2023-02-18
[34] 뉴스 DeepL schools other online translators with clever machine learning https://techcrunch.c[...] TechCrunch 2023-12-26
[35] 뉴스 Quel est le meilleur service de traduction en ligne? https://www.lemonde.[...] Le Monde 2023-01-10
[36] 뉴스 DeepL im Hands On: Neues Tool übersetzt viel besser als Google und Microsoft https://www.golem.de[...] 2017-08-29
[37] 웹사이트 GPT 3 dataset statistics: languages by character count https://github.com/o[...] OpenAI 2023-12-23
[38] 간행물 Findings of the 2016 Conference on Machine Translation https://web.archive.[...] The Association for Computational Linguistics 2018-01-27
[39] 간행물 Findings of the 2022 Conference on Machine Translation (WMT22) https://aclanthology[...] Association for Computational Linguistics 2022
[40] 간행물 Findings of the 2023 Conference on Machine Translation (WMT23): LLMs Are Here but Not Quite There Yet https://aclanthology[...] Association for Computational Linguistics 2023
[41] Arxiv Modeling Coverage for Neural Machine Translation
[42] Arxiv Attention Is All You Need 2017-12-05
[43] 간행물 Findings of the 2019 Conference on Machine Translation (WMT19) https://www.aclweb.o[...] Association for Computational Linguistics 2019-08
[44] 웹인용 ACL 2016 First Conference on Machine Translation (WMT16) https://web.archive.[...] 2019-10-29
[45] 웹인용 2017 Second Conference on Machine Translation (WMT17) https://web.archive.[...] 2019-10-29
[46] 웹인용 1st Workshop on Neural Machine Translation (and Generation) https://sites.google[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com