공식 코드
https://github.com/ngruver/llmtime
0. Abstract
- LLM + 시계열 성공이유
- multimodal distributions를 표현할 수 있는 능력
- 단순성과 반복에 대한 편향이 결합되어 있기 때문
- 이는 많은 시계열에서 두드러지는 특징들(=반복되는 계절적 추세와 일치)
- LLM + 시계열 사용 이점
- LLM들이 비수치적 텍스트를 통해 보정 없이 결측 데이터를 자연스럽게 처리가능
- 텍스트 측면 정보를 수용하며, 예측을 설명하는 데 도움이 되는 질문에 답할 수 있음
1. Introduction
- 시계열의 일반적인 특징
- 은 종종 극도로 다른 출처에서 온 시퀀스를 포함 (데이터의 일관성 떨어짐)
- 결측치 존재
- 시계열 예측 : 제한된 또는 부분적인 정보를 바탕으로 더 넓은 맥락이나 전체적인 상황을 이해하거나 예측 (데이터 수 적음)
- 정확한 예측도 떨어짐, 불확실성의 추정을 중요하게 만듦
- 일반적으로 pretrain model사용 X (비전과 텍스트와 달리..)
- 합의된 비감독 목표 부재 때문.. : 시계열 데이터는 일반적으로 시간에 따른 순차적인 정보를 포함하며, 이러한 데이터의 특성과 목적이 매우 다양할 수 있습니다. 예를 들어, 주식 시장 데이터, 기후 데이터, 의료 데이터 등이 있습니다. 이러한 다양한 데이터 간에는 통일된, 공통된 목표나 패턴이 명확하지 않을 수 있습니다.
- LLMTIME2
- 연속 시계열 예측 문제에 대해 사전 훈련된 LLM을 적용하기 위한 매우 간단한 방법
- 핵심 point
- pretrain 가능하도록
- 시계열을 숫자의 문자열로 표현하고 시계열 예측을 텍스트에서의 다음 토큰 예측으로 보는 것
- 이를 통해 강력한 사전 훈련된 모델과 확률적 능력, 예를 들어 가능성 평가 및 샘플링을 사용
- pretrain 가능하도록
- 논문에서 제안하는 것
-
- 시계열을 숫자의 문자열로 효과적으로 인코딩하는 방법
- LLM의 이산 분포를 복잡한 multimodal distribution을 모델링할 수 있는 연속 밀도로 적응시키는 방법을 제안
- (= LLMTIME은 다른 모델이 사용하는 downstream data에 대한 어떠한 미세 조정 없이 사용될 수 있습니다.)
- LLMTIME의 제로샷 특징 ( : fine tuning 없이 가능)
- (1) LLM의 간단한 적용을 촉진하며, 미세 조정 절차에 대한 전문 지식의 필요성과 이러한 절차에 필요한 상당한 계산 자원을 제거하며, LLM 훈련이나 미세 조정을 위한 독점 소스 코드나 API에 대한 접근 문제를 우회
- (2) 훈련이나 미세 조정을 위한 정보가 거의 없는 제한된 데이터 가용성 시나리오에 자연스럽게 적합함
- (3) 광범위하게 사전 훈련된 LLM의 광범위한 패턴 외삽 능력을 활용하여 전용 시계열 모델을 제작하기 위해 일반적으로 필요한 광범위한 시간, 노력 및 도메인별 전문 지식을 우회
- LLMTIME의 시계열과의 특징
- LLM이 단순하거나 반복적인 시퀀스에 대한 선호도를 어떻게 표현하는지[19] 조사하고
- 이러한 bias가 실제로 시계열의 두드러진 구조, 예를 들어 계절성과 호환된다는 것을 보여줌
- 결측치 자연스럽게 수용가능
- multimodal distribution 표현 가능
- LLM이 매력적인 기능을 가능하게하는것
- 프롬프팅을 통해 추가적인 측면 정보를 제공하고, LLM에게 그것의 예측을 설명하도록 질문하는 능력입니다. 마지막으로, 널리 설득력 있는 예측 성능 외에도, 우리는 성능이 규모와 함께 향상되며, 점 예측의 품질도 불확실성 표현의 품질과 함께 개선된다는 것을 발견.
- LLMTIME의 제로샷 특징 ( : fine tuning 없이 가능)
-
2. Background
2.1. Language modeling
- $\theta$ : 전체 데이터셋의 확률을 최대화함으로써 학습
- 적절한 토큰화의 중요성
- 모든 언어 모델에는 입력 문자열을 V에 속하는 토큰 시퀀스로 분해하는 연관된 토크나이저가 있습니다. 적절한 토큰화는 매우 중요하며, 작은 세부 사항이 놀랍도록 큰 영향을 미칠 수 있음
- 바이트 쌍 인코딩(BPE)
- 자기 회귀 언어 모델의 가장 일반적인 토큰화 방법
- 입력을 비트 문자열처럼 취급하고 훈련 코퍼스에서의 발생 빈도에 따라 토큰을 할당하여 평균적으로 더 짧은 토큰 시퀀스를 최적화
- 샘플링
- pretrain되기도 함
- 일반적으로 프롬프트 u0:k로 시작하여 pθ(uj | u0:j−1)를 사용하여 순차적으로 진행
- ex. temperature scaling, nucleus sampling
2.2. Large language models
LLM의 제로-샷 일반화 능력(in-context학습)과 압축(프로그램적 추상화를 통해 입력 데이터) 가능한 패턴에 대한 선호가 언어 이해를 넘어 시계열 예측에도 잘 확장될 수 있음을 보여줍니다.
- 제로-샷 일반화
- 모델은 어떤 특정한 과제 데이터에 대한 모델 매개변수의 훈련 없이도 텍스트 형식의 과제를 수행
- ex. GPT-3 [9]나 LLaMA-2 [44]와 같은 대규모 언어 모델들은 인-콘텍스트 학습을 통해 이러한 형태의 일반화를 달성
- in-context 학습
- 언어 모델의 프롬프트에서 패턴을 식별하고 다음 토큰 예측을 통해 이를 외삽하는 방식으로 이루어집니다. 많은 저자들은 인-콘텍스트 학습이 언어 모델의 입력 데이터에 대한 광범위한 압축에서 비롯된다고 추측했습니다 [19, 42, 15]. 압축은 프로그램적 추상화를 통해 입력 데이터를 처리하는 학습 알고리즘을 선호하는데, 예를 들어 컨텍스트-프리 문법 [2]이나 유도 헤드 [34]와 같은 것들이 구조적인 구문을 가진 샘플을 생성하기 위한 복사-붙여넣기 유형의 작업을 구현할 수 있습니다.
- in-context 학습
- LLM을 보조자로서 훨씬 더 유용하게 만들었으며, 이는 인간의 선호도와 지시에 맞춰 LLM을 조정하는 방법들을 만드는 데 이르렀음
- 인간의 피드백으로부터의 강화 학습(RLHF) [38] 및 지시 조정 [46] 등이 있습니다. 현대 LLM 제품에 중요한 역할을 하는 이러한 조정 방법들은 기본 모델의 능력과 보정에도 상당한 영향을 미칠 수 있음.
2.3. Time series data
- 숫자를 개별 숫자로 매핑하는 LLaMA 토크나이저를 설계하여 수학적 능력에서 중요한 개선을 이루었으며, 작은 LLaMA 모델이 GPT-4 [30]보다 뛰어난 성능을 보입니다.
- 언어 모델은 수열에 대한 복잡한 확률 분포를 나타내도록 구축되었기 때문에 이론적으로 시계열 모델링에 잘 맞습니다. 그러나 실제로는 숫자의 토큰화에 관한 세부 사항에 의해 언어 모델의 성능이 제한됩니다. BPE는 훈련 데이터에서의 발생 빈도에 따라 숫자를 압축하기 때문에, 숫자들이 기본적인 수치 연산 학습을 어렵게 하는 어색한 청크로 분해될 수 있습니다.
- 연속 순위 확률 점수(CRPS)는 분포적 특성을 포착하고 가능성 없이 샘플을 생성하는 모델을 비교
- CRPS는 MAE에 비해 개선이지만, 시간 단계 간의 상관관계와 같은 데이터의 주요 구조를 무시합니다.
- 다행히도, 언어 모델은 시계열 데이터의 전체 수열에 확률을 할당할 수 있으며, 우리는 LLM의 이산 확률에 작은 수정을 가하여 모델 비교에 유용한 연속 밀도를 생성할 수 있음을 보여줌
2.4. Language models for time series
- 사전 훈련된 언어 모델 인코더를 시계열 모델의 초기화로 사용하는 것을 탐구
- BERT 인코더를 미세조정하여 시계열 예측을 수행하는 FPT를 제안합니다.
- 마찬가지로, Zhang 등 [53]은 언어 모델을 텍스트가 아닌 모달리티, 시계열을 포함하여 미세조정하기 위한 프레임워크인 메타-트랜스포머(Meta-Transformer)를 소개합니다.
- 미세조정 없이 LLM을 예측자로 사용하는 것에 대해 탐구한 논문은 적습니다. 우리가 알고 있는 유일한 방법은 PromptCast [50]로, 이는 예측을 프롬프팅을 통한 질문 답변으로 설정합니다.
2.5. Our work
- LLM 백본을 활용하는 방법과 달리, 우리의 방법은 완전히 제로-샷이며 미세조정이 필요하지 않습니다.
- PromptCast와는 달리, 우리는 숫자 값 자체를 신중하게 전처리하면, 어떠한 추가 텍스트나 프롬프트 엔지니어링 없이도 LLM을 직접 예측자로 사용할 수 있음을 보여줍니다.
- 우리의 방법은 일반 수열에서 패턴을 외삽하는 LLM의 능력에만 의존하며, 영어나 다른 언어에 특유한 것은 아닙니다.
- 이전 연구를 넘어서, 우리는 대규모 언어 모델의 확률적 특성과 고도로 확률적인 시계열에 대한 불확실성을 포착하는 능력을 개발합니다.
3. LLMTIME: Forecasting with Language Models
숫자 값이 문자열로 처리 → 언어 모델을 사용한 예측(표준 샘플링 절차)
3.1. Tokenization
: 언어 모델이 데이터를 처리할 때 텍스트를 작은 조각으로 나누는 과정
- 기존 일반적인 토큰화 방법의 한계
- ex. BPE (GPT-3)
- 숫자 42235630은 일반적인 토큰화 방법으로는 [422, 35, 630]으로 나눠집니다. 하지만 이렇게 나누면 하나의 숫자가 바뀔 때마다 완전히 다른 토큰화 결과를 얻게 됩니다. 이는 숫자를 다루는 산술 계산을 어렵게 만듭니다.
- 예를 들어, 숫자 42235630에서 첫 번째 숫자 4를 5로 바꾼다면, 결과는 [522, 35, 630]이 됩니다. 이것은 이전에 [422, 35, 630]과는 완전히 다른 토큰화된 시퀀스입니다. 따라서 이런 방식으로 숫자를 다루는 경우, 숫자 하나만 변경되어도 전체 토큰화된 시퀀스가 다른 것으로 처리되기 때문에 산술 계산이 어려워질 수 있습니다.
- ex. BPE (GPT-3)
- 극복 토큰화 방법
- ex. LLaMA
- 숫자를 개별 숫자로 처리합니다. 즉, 숫자 42235630을 [4, 2, 2, 3, 5, 6, 3, 0]으로 나눕니다. 이렇게 하면 각 숫자가 개별 토큰으로 다루어지며, 산술 계산이 더 쉬워집니다.
- ex. LLaMA
3.2. Rescaling
- 입력 값이 매우 클 때 토큰을 낭비하지 않기 위해)
- 최대 값으로 스케일링을 피함으로써, LLM은 숫자 자릿수가 변경되는 일부 예시(1 − α)를 볼 수 있으며, 이를 출력에서 재현하여 본 적 없는 더 큰 값을 생성할 수 있습니다.
- 우리는 재조정된 시계열 값의 α-백분위수가 1이 되도록 값을 축소
- 또한, 입력 데이터의 백분위수를 기준으로 계산된 오프셋 β를 실험하고, 이 두 매개변수를 검증 로그 가능도에 맞춰 조정
3.3. Sampling / Forecasting
- 예측을 위해) LLM에서 여러 샘플(예: 20개)을 추출하고 각 time step에서 샘플의 통계를 사용하여 점 추정치(예: 중앙값) 또는 확률적 예측(예: 분위수)을 구성
- 샘플링을 제어하기 위해) 우리는 온도 스케일링, 로짓 바이어스, 그리고 핵 샘플링(부록 C 참조)을 사용
3.4. Continuous likelihoods
여기 수식 다시 봐야할듯……..
귀차나서 넘김……..
3.5. Language models as flexible distributions
- LLM이 숫자에 대한 유연한 분포를 표현할 수 있다는 사실은 시계열 데이터에 있어 핵심적입니다.
- 불확실성 정량화는 예측에 필수적이며, 시계열에서 불확실성을 나타내는 전형적인 접근법은 misspecification으로 인해 제한될 수 있습니다.
Comments
1. 다변량에서 LLM 적용해볼수도 있을듯? 어떻게되는지 궁금
- LLM 예측기는 사전 훈련된 트랜스포머의 강점을 이용하지만, 이로 인해 제한된 컨텍스트 창과 같은 약점도 물려받습니다. 많은 단변량 시계열 문제는 점점 더 커지는 컨텍스트 창 내에서 편안하게 들어맞을 수 있지만, 다변량 문제는 더 큰 도전을 제시함.. 최근에 LLM 컨텍스트 창을 10-100K 토큰으로 확장하는 여러 도전이 있었다고 함.