LLM은 Large “Language” Model입니다. 맞습니다, “언어”가 핵심이죠. 우리는 보통 언어를 인간의 말과 글로 한정해서 생각하지만, 실제로 언어의 개념은 훨씬 더 광범위합니다.

XML: 세상을 표현하는 언어

90년대 말 IT 산업에서는 XML을 통해 거의 모든 것을 표현하려는 움직임이 있었습니다. 이는 단순한 마크업 언어를 넘어, 다양한 도메인의 정보를 구조화하고 표현하기 위한 언어로 발전했습니다:

  • MathML: 수학 수식 표현
  • KML/GML: 지리 정보 표현
  • XSPF: MP3 플레이리스트 표현
  • UBL: 전자상거래 정보 표현
  • HR-XML: 인사 관리 정보 표현
  • MARCXML: 바코드 정보 표현
  • BPML: 비즈니스 프로세스 표현
  • MusicXML: 음악 표현

이처럼 XML은 특정 도메인의 정보를 구조화하고 교환하기 위한 언어적 프레임워크를 제공합니다.

LLM과 표현 언어

LLM은 “언어”로 표현될 수 있는 모든 것을 생성할 수 있습니다. 그것이 인간의 자연어일 수도 있고, XML과 같은 구조화된 언어일 수도 있습니다. 예를 들어, 음악을 만들고 싶다면 MusicXML 형식으로 표현해달라고 요청하면 LLM은 이를 생성할 수 있습니다.

XML 외에도 다양한 도메인별 표현 언어가 존재합니다:

  • ledger: 복식부기 장부 표현
  • csound: 음악 표현
  • lilypond: 악보 표현

확장된 언어의 개념

“언어”라는 개념을 확장해서 생각하면, LLM이 할 수 있는 일이 단순히 인간의 말을 생성하는 것 이상으로 넓어집니다. LLM은 구조화된 정보를 표현하는 다양한 언어들을 이해하고 생성할 수 있으며, 이런 능력을 활용하면 더 복잡하고 다양한 작업을 수행할 수 있습니다. 언어 모델의 능력은 우리가 어떤 “언어”로 소통하느냐에 따라 크게 확장될 수 있습니다.

마지막으로, 과거 GPT에서 외부 함수 호출 기능이 없었을 때 XML-RPC와 같은 구조화된 언어를 사용해 비슷한 기능을 구현한다면 이렇게 했을겁니다.

XML-RPC within LLM result