자연어 처리 시장은 급성장하고 있으며 최근 많은 새로운 도구가 생태계에 등장하고 있습니다. 2022년 프로젝트에 텍스트 이해와 텍스트 생성을 통합하기 위해 알아야 할 라이브러리, 프레임워크, 언어, 서비스, 액터를 소개합니다.

Python은 수년 동안 데이터 과학 분야에서 사실상 표준 언어로 사용되어 왔습니다. 자연어 처리 프로젝트를 진행 중이라면 어딘가에 Python 코드가 있을 가능성이 높습니다.
Python은 매우 표현력이 풍부하고 간단한 고급 언어이므로 머신 러닝 애플리케이션에 완벽하게 적합합니다. 하지만 더 중요한 것은 데이터 과학자의 삶을 더 쉽게 만들어주는 라이브러리와 프레임워크로 구성된 포괄적인 에코시스템의 이점을 파이썬에서 누릴 수 있다는 점입니다.
연구 프로젝트에서 작업하든 프로덕션 프로젝트에서 작업하든, 새로운 모델을 학습하든 추론에 사용하든, Python을 사용해야 할 가능성이 높습니다. 다른 언어를 꼭 사용해야 하는 경우 다른 언어로 된 멋진 라이브러리를 찾을 수도 있지만 기본 사용 사례에만 해당됩니다(고급 사용 사례의 경우 마이크로 서비스 전략을 채택하고 REST API를 사용하는 것이 해결책이 될 것입니다).

허깅 페이스 허브는 대부분의 오픈 소스 자연어 처리 모델을 저장하는 중앙 리포지토리입니다.
Hugging Face에서는 새로운 AI 모델을 쉽게 발견할 수 있을 뿐만 아니라 자신의 모델을 업로드하고 공유할 수도 있습니다. 또한 다음 프로젝트에 사용할 데이터세트를 검색하고 찾을 수 있는 좋은 장소이기도 합니다. 모델과 데이터 세트는 트랜스포머 프레임워크(아래 참조)를 통해 쉽게 다운로드하여 사용할 수 있습니다.
허깅 페이스의 비전은 자연어 처리를 '민주화'하고 '머신 러닝의 깃허브'가 되는 것입니다.

OpenAI는 역사상 가장 진보된 언어 AI 모델인 GPT-3를 개발한 회사입니다.
이 모델의 첫 두 가지 버전(GPT 및 GPT-2)은 오픈 소스였지만, OpenAI는 GPT-3을 더 이상 오픈 소스로 제공하지 않기로 결정했습니다. GPT-3을 사용하려면 OpenAI API를 구독해야 합니다. 독점 라이선스를 구매한 Microsoft만이 GPT-3의 소스 코드에 액세스할 수 있습니다.
GPT 모델은 사람처럼 텍스트를 작성하는 데 매우 능숙한 텍스트 생성 AI 모델입니다. 실제로 사람이 실제 사람이 작성한 텍스트인지 GPT-3...가 작성한 텍스트인지 구분하는 것은 매우 어렵습니다.
이 새로운 AI를 설계하고 학습시키는 데는 수백만 달러의 비용이 들었습니다. OpenAI는 모든 유형의 애플리케이션이 해당 모델을 사용할 수 있도록 허용하지 않기 때문에 이를 사용하려면 까다로운 검증 프로세스를 거쳐야 합니다.
현재 GPT-J 및 GPT-NeoX와 같은 새로운 오픈 소스 모델이 출시되어 OpenAI를 따라잡고 있습니다.

바로 우리입니다!
NLP Cloud는 프로덕션 환경에서 최첨단 자연어 처리 AI 모델을 쉽게 사용할 수 있는 API입니다.
예를 들어 GPT-J 및 GPT-NeoX로 텍스트를 생성하고, Facebook의 Bart Large CNN으로 콘텐츠를 요약하고, Roberta로 텍스트를 분류하고, spaCy로 엔티티를 추출하고, NLLB 200으로 콘텐츠를 번역하는 등 다양한 작업을 수행할 수 있습니다.
NLP Cloud에서는 자체 AI를 훈련하고 미세 조정하거나 자체 사내 모델을 배포할 수도 있습니다. 예를 들어, GPT-J를 기반으로 나만의 의료 챗봇을 만들고 싶다면, 업계에서 제공하는 자체 예시로 구성된 데이터 세트를 업로드한 다음 학습 프로세스를 시작하고 API를 통해 최종 모델을 프로덕션에 사용하기만 하면 됩니다.

Deepspeed는 모델 병렬화에 중점을 둔 Microsoft의 오픈 소스 프레임워크입니다.
정확히 무슨 뜻인가요?
AI 모델은 점점 더 커지고 있습니다(GPT-3, GPT-J, GPT-NeoX 20B, T0, Fairseq 13B... 참조). 이러한 거대한 모델은 수많은 새로운 애플리케이션의 문을 열어주지만, 실행하기가 매우 어렵기도 합니다.
이러한 모델을 학습하고 추론을 위해 프로덕션 환경에서 안정적으로 실행하는 것은 수직적 확장성(NVIDIA A100 또는 Google TPU와 같은 대형 GPU 사용) 또는 수평적 확장성(여러 개의 소형 GPU를 병렬로 사용)을 통해 수행할 수 있습니다.
두 번째 접근 방식은 더 저렴하고 확장성이 뛰어나기 때문에 점점 더 많이 사용되고 있습니다. 그럼에도 불구하고 분산 훈련과 추론을 수행하는 것은 결코 쉬운 일이 아니기 때문에 딥스피드가 정말 도움이 됩니다.
딥스피드는 원래 트레이닝 작업을 위한 것이었지만, 사용이 간편하고 허깅 페이스 트랜스포머와 통합되어 추론에 점점 더 많이 사용되고 있습니다(아래 참조).

빅 사이언스는 빅 언어 모델을 연구하는 집단 또는 연구자 및 기업입니다.
첫 번째 워크숍에서는 사람의 지시를 매우 잘 이해하는 T0라는 AI 모델을 만들었습니다.
이들은 현재 훨씬 더 큰 모델을 개발 중이며, GPT-3보다 더 크고 진보된 오픈소스 다국어 AI 모델을 만드는 것이 목표입니다.

SpaCy는 프로덕션에 완벽하게 적합한 Python 자연어 처리 프레임워크로, 빠르고 사용하기 쉽습니다.
이 프레임워크는 독일의 AI 회사인 Explosion AI에서 관리하고 있습니다.
스파시는 명명된 엔티티 인식(엔티티 추출이라고도 함)에 매우 능숙하며 약 50개의 다양한 언어를 지원합니다. 사전 학습된 모델을 제공하며 주석이 달린 예제를 통해 자신만의 모델을 쉽게 만들 수 있습니다.
트랜스포머 프레임워크는 몇 년 전 Hugging Face에서 출시했습니다. 현재 대부분의 고급 자연어 처리 모델은 트랜스포머를 기반으로 합니다.
파이토치, 텐서플로우, 잭스를 기반으로 하는 파이썬 모듈로, 학습이나 추론에 사용할 수 있습니다.
허깅 페이스 트랜스포머를 사용하면 허깅 페이스 허브에 모델을 매우 쉽게 다운로드하고 업로드할 수 있습니다.
Hugging Face의 토큰라이저 라이브러리는 트랜스포머 기반 모델에서 사용되는 고급 자연어 처리 토큰라이저 세트입니다.
토큰화는 입력 텍스트를 작은 단어의 하위 단어로 분할하여 AI 모델에서 인코딩하고 처리할 수 있도록 하는 것입니다.
토큰화는 세부적인 사항처럼 들릴 수 있지만 그렇지 않습니다. 실제로 토큰화는 자연어 처리에서 매우 중요한 부분이며, 올바른 토큰화 도구를 사용하면 결과의 품질과 성능 측면에서 큰 차이를 만들 수 있습니다.
NLTK는 자연어 툴킷의 약자입니다. 수년 동안 사용되어 온 Python 프레임워크로, 연구 및 교육에 매우 유용합니다.
NLTK는 프로덕션 지향 프레임워크는 아니지만, 자연어 처리를 강화하려는 데이터 과학자에게 적합합니다.
자연어 처리 분야는 2021년에 상당히 발전했습니다. 오늘날 점점 더 많은 기업이 프로덕션에서 언어 AI 모델을 사용하고자 하며, 2022년 생태계가 5년 전과 거의 달라지지 않았다는 점이 흥미롭습니다.
라이브러리와 프레임워크는 점점 더 발전하고 있으며, GPT-3와 같은 대규모 언어 모델을 만들면서 새로운 흥미로운 과제가 제기되고 있습니다.
2023년은 어떤 모습일지 벌써부터 기대됩니다!
Juliette