Behavior Foundation Model,
“행동의 물리학을 학습하는 모델”
들어가며
지난 글에서 고객의 행동 순서를 학습하여 다이나믹 구조를 파악하고, 다음 행동 예측에 특화된 BFM이라는 모델을 언급했었다.
“그래서 BFM은 구체적으로 어떻게 만드는 건가요?
그냥 LLM 구조에 행동 로그 넣으면 끝인가요?”
짧게 답하면:
아니다.
BFM은 ‘행동을 입력으로 쓰는 모델’이 아니라
‘행동 전이를 학습 목표로 설계한 모델’이다.
한 문장 요약
BFM은 행동 시퀀스를 입력으로 받아
‘다음 행동의 확률 구조’를 학습하는
대규모 시퀀스 모델이다.
1. BFM의 핵심 구성요소
BFM은 크게 네 단계로 만들어진다.
- 행동 정의 (Tokenization)
- 시퀀스 구성 (Sequence Modeling)
- 모델 아키텍처 설계
- 학습 목표(Objective) 정의
이 네 가지가 제대로 설계되어야
비로소 “Foundation” 모델이 된다.
2.Step 1: 행동을 토큰으로 정의하기
가장 중요한 단계다.
LLM의 “단어”에 해당하는 것이 BFM의 “행동 토큰”이다.
예시
|
원시 로그 |
행동 토큰 |
|---|---|
|
/product?id=123 |
PRODUCT_VIEW |
|
add_to_cart |
ADD_CART |
|
payment_complete |
PURCHASE |
설계 포인트
- 너무 세분화 (X) → 데이터 희소성
- 너무 추상화 (X) → 정보 손실
- 의미 단위 기준 (O)
- 도메인 목적 기준 (O)
→ 제일 중요 : 토큰 설계가 모델 품질을 좌우한다
3. Step 2: 시퀀스 만들기
행동은 시간 흐름이 핵심이다.
[SEARCH]
→ [VIEW]
→ [COMPARE]
→ [ADD_CART]
→ [PURCHASE]중요한 결정 요소
- 세션 단위 vs 장기 히스토리
- 시간 간격 표현 방법
- 이벤트 간 window 설정
시간 정보 처리 방법
|
방식 |
설명 |
|---|---|
|
위치 임베딩 |
순서만 반영 |
|
시간 간격 토큰 |
1h, 1d, 7d 등 |
|
연속값 입력 |
실수 시간차 |
→ 전이 예측이 목적이라면 시간 표현은 매우 중요하다.
4.Step 3: 모델 아키텍처 선택
BFM은 반드시 Transformer일 필요는 없다.
하지만 대부분 Transformer 기반이다.
대표 구조
Input: 행동 시퀀스
↓
Embedding Layer
↓
Transformer Encoder
↓
State Representation (h_t)
↓
Prediction Head대안 구조
- GRU / LSTM (소규모 데이터)
- SASRec 구조 (추천 특화)
- Temporal Fusion Transformer
→ 규모와 목적에 따라 선택
5.Step 4: 학습 목표(Objective) 정의
여기가 BFM의 정체성을 결정한다.
가장 기본적인 학습 목표
(1) Next-Action Prediction
P(a_t | a_1 ... a_{t-1})- 가장 일반적
- 언어모델과 유사
(2) Masked Behavior Modeling
- 일부 행동 가림
- 복원 학습
(3) Time-to-Event Prediction
- 구매까지 남은 시간 예측
- survival loss 사용
(4) Multi-task Learning
- 다음 행동
- 구매 여부
- 이탈 여부
→ 여러 목표를 함께 학습하면 더 “foundation” 성격이 강해진다.
6. 임베딩은 어디서 나오나?
BFM에서 임베딩은 보통:
h_last (마지막 hidden state)또는
sequence-level pooled state이 벡터는:
“다음 행동을 결정하기에 충분한 상태 표현”
이다.
7. 학습 데이터 규모
BFM은 데이터가 곧 힘이다.
|
규모 |
권장 최소 |
|---|---|
|
사용자 수 |
수십만 이상 |
|
이벤트 수 |
수천만 이상 |
|
평균 시퀀스 길이 |
10~100 이상 |
데이터가 작다면 LLM 임베딩이 더 현실적일 수 있다.
8.평가 방법
BFM은 정답 기반 모델이다.
주요 지표
- Next-event Accuracy
- Precision@K
- Recall@K
- AUC
- Log Loss
→ LLM과 달리 의미 해석보다 예측 정확도가 핵심 KPI다.
9.운영 단계에서 필요한 것
- 주기적 재학습
- 분포 변화 감지
- 임베딩 drift 모니터링
- cold-start 대응 전략
BFM은 “학습하면 끝”이 아니다.
10. 흔한 오해들
(X) LLM 구조 쓰면 자동으로 BFM
(X) 행동을 텍스트로 바꾸면 충분
(X) 임베딩을 해석해야 한다
→ BFM은 해석 모델이 아닌 예측 모델이다.
11.간단한 Pseudo 코드 예시
# 행동 시퀀스 → 다음 행동 예측
for sequence in user_sequences:
input_tokens = sequence[:-1]
target = sequence[1:]
output = model(input_tokens)
loss = cross_entropy(output, target)
loss.backward()핵심은 복잡한 코드가 아니라
목표 정의와 데이터 설계다.
한 문장으로 정리하면
BFM은
행동을 ‘텍스트처럼 이해’하는 모델이 아니라,
행동을 ‘확률적으로 예측’하도록 학습된 모델이다.
마치며
BFM을 만드는 일은 이 질문에 답하는 일이다.
“이 행동 다음에 무엇이 올까?”
“그 전이는 어떤 구조를 따르는가?”