Source:
report/version9/exp-designer/v9-02_chronos_lora_design.md
v9-02: Chronos-Bolt-Small LoRA Fine-tuning + FL/VQ 연관 설계¶
1. 목적 및 가설¶
1.1 핵심 연구 질문¶
Chronos-Bolt-Small (47.7M, T5 기반) 의 LoRA fine-tuning 이 EC50 5가구(Apt6/15/30/51/88) 데이터에서 zero-shot baseline 대비 피크 예측 성능을 유의하게 개선하는가? 그리고 이 구조가 v6 FL/VQ 자산(FeDPM, Peak-Weighted Loss, DLinear residual)과 유의미하게 결합 가능한가?
1.2 가설 (H9-2, H9-3)¶
- H9-2 (LoRA 개인화 효과): 가구별 LoRA fine-tuning 은 Chronos zero-shot 대비 PAPE 를 유의하게(>2%p, 5가구 평균) 낮추고 HR(tol=1) 은 유지/개선한다.
- 판정 기준:
PAPE_LoRA < PAPE_zero-shot - 2%pANDHR_LoRA ≥ HR_zero-shot - 1%p - Zero-shot reference: PAPE 44.98%, HR 37.68% (v6 결과)
- H9-3 (FL/VQ 연결 구조적 타당성): 본 설계에서 채택한 FL/VQ 연관 경로(§3 권장안)가 단일 가구 로컬 LoRA 대비 레퍼런스상 우위 근거가 있고, v6 자산(FeDPM codebook + DLinear residual) 을 재활용할 구체적 연결점을 가진다.
- 판정 기준: (a) 3편 이상 2024–2025 레퍼런스로 경로 근거 제시, (b) v6 자산 재활용 범위를 코드 경로 수준으로 명시.
- 주의: H9-3 은 "구조적 타당성" 가설이며, 실제 FL 실행 성능 검증은 Stage 2 범위 밖이다. (사용자 지시: Stage 2 범위 엄수)
1.3 성공 기준 (Stage 2)¶
| 레벨 | 조건 | 판정 |
|---|---|---|
| Pass | 5가구 평균 PAPE ≤ 42.98% (zero-shot 대비 -2%p) | H9-2 성공 |
| Pass | HR(tol=1) 36.68% 이상 유지 | Zero-shot 우위 보존 |
| Watch | 평균 PAPE ∈ (42.98%, 44.98%) | 개선은 있으나 비유의 — 3-seed 확대 평가 |
| Fail | 평균 PAPE > 44.98% 또는 HR < 36.68% | 근본 원인 분석 후 방향 재검토 |
2. Chronos-Bolt + LoRA 호환성 조사¶
2.1 아키텍처 확인¶
로컬 pretrained_models/chronos-bolt-small/config.json 확인 결과:
model_type: "t5",is_encoder_decoder: true,num_layers: 6,num_decoder_layers: 6d_model: 512,num_heads: 8,d_kv: 64,d_ff: 2048,feed_forward_proj: "relu"architectures: "ChronosBoltModelForForecasting"— HFtransformers.T5Model을 래핑한 클래스. Encoder 입력은 시계열 patch(16-step), decoder 는 9개 quantile 을 직접 회귀.
→ peft 라이브러리와의 호환성: Chronos-Bolt 의 내부 encoder/decoder 는 표준 T5Attention / T5LayerSelfAttention / T5LayerCrossAttention 구조를 사용하므로, T5 기반 LoraConfig(target_modules=["q", "v", ...]) 패턴이 그대로 적용된다. AutoGluon 공식 문서는 LoRA 기본 지원을 명시하며 (Chronos-2 기본 fine-tune 방식이 LoRA), Chronos-Bolt(T5) 에서도 동일하게 동작한다 (AWS AutoGluon blog, 2024).
2.2 target modules 후보 및 rank 권장값 (문헌 근거)¶
| 후보 | 설명 | 선택 근거 |
|---|---|---|
["q", "v"] |
표준 LoRA 기본 세트 (T5/BERT 계열에서 최소 침습) | HF PEFT 공식 권고, LoRA 원논문(Hu et al.) 기본값. Chronos-Bolt 소형(47.7M) 모델에 과적합 억제 목적. |
["q", "k", "v", "o"] |
어텐션 전체 projection | Gupta et al. 2024 (arXiv:2405.10216, "Low-Rank Adaptation of Time Series Foundational Models"): OOD 도메인에서 q,k,v,o 확장이 q,v 단독보다 소폭 우세. |
["q", "v"] + decoder cross-attn |
Encoder-Decoder 모델에서 cross-attn 에 집중 | Beyond LoRA (arXiv:2409.11302, 2024): TS FM 에서 "어디에 LoRA 를 붙이느냐"가 rank 보다 영향이 크다고 보고. |
권장: 1차 smoke 는 ["q", "v"] 로 시작, 실패 시 ["q", "k", "v", "o"] 로 확장. TS FM LoRA 논문들은 rank 권장을 r=4–16 범위로 수렴시키며(Chronos-2 문서는 ablation 상 8 근처), 본 실험은 rank ∈ {4, 8} 두 값만 평가 (사용자 지시: 과도한 확장 금지).
2.3 최신 레퍼런스 (2024–2026)¶
- Gupta et al., 2024 — "Low-Rank Adaptation of Time Series Foundational Models for Out-of-Domain Modality Forecasting" (arXiv:2405.10216). Chronos / Lag-Llama 등 TS FM 에 LoRA 적용. q,k,v,o 조합과 r=8–16 이 OOD 성능 최선.
- "Beyond LoRA" 2024 (arXiv:2409.11302) — TS FM PEFT 벤치마크. DoRA, BOFT, LoRA+ 비교. 본 설계에서는 LoRA 를 baseline 으로 채택하되, 향후 확장 옵션으로 기록.
- AutoGluon Chronos-Bolt 공식 문서 (2024–2025, AWS) —
fine_tune=True옵션 기본값:fine_tune_lr=1e-5,fine_tune_steps=1000,fine_tune_batch_size=32. Chronos-Bolt 계열 공식 권장 세팅이며 본 설계의 lr 초기값 기준으로 채택. - Sun et al., ICLR 2025 — "FedSA-LoRA: Selective Aggregation for LoRA in FL" (arXiv:2410.01463). A 매트릭스만 서버 공유, B 는 로컬 유지. non-IID 에서 FedAvg-LoRA 대비 우세. 본 설계 FL 연관 경로(A)의 근거.
- IJCAI 2025 Survey — "Federated Low-Rank Adaptation for Foundation Models: A Survey" (ijcai.org/proceedings/2025/1196.pdf). FedLoRA 변형 계열(FedIT / FFA-LoRA / FedSA-LoRA / FLoRA / HetLoRA / FedEx-LoRA) 체계 정리.
- Xu et al., 2025 — "Fine-Tuning Foundation Models with Federated Learning for Privacy Preserving Medical Time Series Forecasting" (arXiv:2502.09744). 시계열 FM + FL 결합 선행 사례. 가구 단위 개인화와 유사한 heterogeneous client 분석 포함.
- FeDaL, 2025 (arXiv:2508.04045) — "Federated Dataset Learning for Time Series Foundation Models". heterogeneous TS 를 공유 일반 지식 + 개인화 지식 으로 분해. 본 track 의 "Chronos prior + local personalization" 관점과 부합.
3. FL/VQ 연관 경로 서베이 및 권장안¶
경로 (A) FedLoRA — 각 가구 LoRA 를 FedAvg (또는 FedSA-LoRA) 로 집계¶
각 가구가 로컬 LoRA (A, B) 를 학습 후 서버가 가중 평균(FedAvg) 으로 집계하거나 FedSA-LoRA 방식으로 A 만 공유, B 는 로컬 유지한다. FedSA-LoRA (ICLR 2025) 와 FFA-LoRA (2024) 가 대표적이며 non-IID 환경에서 FedAvg-LoRA 의 aggregation bias 문제를 완화한다. - 장점: 레퍼런스 풍부(2024–2025 다수), 구현 단순(기존 FedAvg 플로우 + LoRA layer). - 단점: v6 의 VQ codebook 자산을 전혀 재활용하지 못함. Chronos 자체를 FL 로 돌리므로 통신 비용 증가 (rank=8 기준 per-round ~MB 급). - v6 자산 재활용: 낮음 (FedAvg 로직만 재활용 가능, FeDPM/Peak-Weighted Loss/DLinear residual 미사용). - 레퍼런스: FedSA-LoRA (ICLR 2025, arXiv:2410.01463), FFA-LoRA (arXiv:2403.12313), IJCAI 2025 Survey.
경로 (B) Chronos-prior + VQ/DLinear residual (local personalization)¶
Chronos-Bolt 를 고정(zero-shot 또는 한 번만 LoRA fine-tune)된 prior 로 사용하고, 예측값을 v6 FeDPM(VQ codebook + DLinear residual) 의 입력 boost 로 주입한다. 즉 Chronos 가 "공유 일반 지식" 역할, FeDPM(FL) 이 "개인화 residual" 역할을 분담. FeDaL (2025) 의 "shared generalized knowledge + preserved personalized knowledge" 구도와 구조적으로 부합. - 장점: v6 의 PAPE 최선 기록 R1b (DLinear residual, 38.40%) 파이프라인을 그대로 재사용. Peak-Weighted Loss 도 residual 학습에 직접 적용 가능. LoRA 는 1회만 적용 → 통신 비용 낮음. - 단점: Chronos prior 와 residual 간 역할 분담 설계 필요 (잔차 스케일 조정, RevIN 충돌 가능성). 직접적 FedLoRA 레퍼런스보다는 "FM + local personalization" 범용 패러다임에 가까움. - v6 자산 재활용: 높음 — FeDPM codebook / DLinear residual / Peak-Weighted Loss / MLflow 로깅 모두 그대로 활용. - 레퍼런스: FeDaL (arXiv:2508.04045, 2025), Xu et al. (arXiv:2502.09744, 2025).
경로 (C) VQ-compressed LoRA — LoRA Δ(A, B) 를 VQ 로 양자화하여 통신¶
FedLoRA 의 통신 비용을 줄이기 위해 LoRA 델타를 VQ codebook 으로 양자화 전송 (FLoCoRA / FedVQCS 계열). - 장점: 통신 효율 향상, v6 의 VQ codebook 구현 경험 재활용 가능. - 단점: Stage 2 범위 내에서 검증 복잡도 최고 (LoRA 학습 + VQ 양자화 + FL 집계 3중). 논문 scope 상 필요성 낮음 — 5가구 규모에서 통신 비용은 병목이 아님. - v6 자산 재활용: 중간 (VQ 양자화 로직 부분 재활용). - 레퍼런스: FLoCoRA (hal-04617632, 2024), FedVQCS (2024).
3.1 권장 경로: (B) Chronos-prior + DLinear/VQ residual¶
근거: 1. v6 자산 재활용 최대화 — R1b (PAPE 38.40%) 는 track 내 전체 PAPE 1위이며, DLinear residual + Peak-Weighted Loss 구조가 이미 검증됨. Chronos prior 를 주입하는 것은 "잘 동작하는 pipeline 에 더 강한 feature 를 공급"하는 저위험 확장. 2. 논문 서사와 일치 — v6 결론 중 "FM zero-shot 은 HR 우위, FL+DLinear 는 PAPE 우위로 상호보완적"이라는 실증적 발견이 있다. (B) 경로는 이 상호보완성을 단일 아키텍처로 결합하는 자연스러운 다음 단계다. 3. 범위 엄수 가능 — Stage 2 에서는 Chronos LoRA 로 prior 품질 확보까지만 수행하고, residual 결합 실행은 Stage 3 (본 설계 범위 밖) 로 둔다. Stage 2 내 추가 FL 실행을 강요하지 않음. 4. FedLoRA (경로 A) 는 레퍼런스는 풍부하지만 v6 자산과 단절되어 논문 contribution 이 "FedSA-LoRA 의 시계열 가정 재현" 수준에 그친다. (C) 는 너무 비용이 크다.
3.2 권장안 요약 (Stage 2 액션)¶
- Stage 2 실험은 가구별 로컬 LoRA fine-tuning 으로 한정.
- 각 가구 LoRA 가중치를
outputs/v9_chronos_lora/{apt}/adapter/에 저장해 Stage 3(본 설계 범위 밖)에서 Chronos-prior + FeDPM residual 결합 또는 FedSA-LoRA 집계 실험 모두로 분기 가능한 형태로 남겨둔다. - FL/VQ 연결은 설계 수준에서만 명시하고, Stage 2 에서는 실행하지 않는다 (사용자 지시 준수).
4. Stage 2 실험 프로토콜¶
4.1 데이터¶
- EC50 5가구:
Apt6, Apt15, Apt30, Apt51, Apt88(v6 와 동일,GWN_HOUSEHOLDS상수 재사용). - Split:
fed_learning.data_utils.create_household_dataloaders기본값 (train 0.7 / val 0.1 / test 0.2). seq_len=96,pred_len=24, batch_size=32, year="2016".- 정규화: z-score (train mean/std). 추론 시 역정규화 후 원본 kW 스케일에서 메트릭 산출.
4.2 모델 / LoRA 설정¶
| Hyperparameter | 값 | 근거 |
|---|---|---|
| Base model | pretrained_models/chronos-bolt-small |
사용자 지정 |
LoRA rank r |
{4, 8} 2-point sweep | Chronos-2 ablation 권장 범위, 5가구 소량 데이터 과적합 방지 |
lora_alpha |
2 × r (r=4 → 8, r=8 → 16) |
통례적 α=2r 세팅 (HF PEFT 권고) |
lora_dropout |
0.1 | Chronos-Bolt 내부 dropout_rate 와 동일 |
target_modules |
["q", "v"] 1차, 실패 시 ["q", "k", "v", "o"] |
§2.2 근거 |
| Optimizer | AdamW | 표준 |
| Learning rate | 1e-5 (1차), {5e-6, 3e-5} fallback | AutoGluon Chronos-Bolt 공식 권장값 |
| Weight decay | 0.01 | 표준 |
| Epochs (max) | 50 | 5가구 소량 데이터 기준 |
| Early stopping | val MSE patience=5 | 과적합 가드 |
| Batch size | 32 | 메모리 여유 (RTX 5070 Ti) |
| Gradient accumulation | 1 (필요 시 2) | bf16 환경에서 불필요할 가능성 |
| Precision | bfloat16 | Chronos-Bolt 로딩 기본값 + RTX 5070 Ti 지원 |
| Seed | 42 (smoke) → {42, 7, 123} (확대 평가 시) | 프로젝트 규약 |
4.3 학습 목적 함수¶
- 1차: Chronos-Bolt 기본 quantile loss (Pinball loss, 9 quantiles) — 모델 native loss 유지.
- (설계 기록용, 실행은 옵션): Peak-Weighted quantile loss.
compute_peak_weighted_loss(alpha=2.0, beta=2.0)을 quantile loss 에 계수화 적용. v6 P1 설정과 호환.
4.4 평가 프로토콜¶
- 메트릭: MSE, MAE, PAPE, HR(tol=1), HR(tol=2) — v9-01(HR 재평가 track) 과 일관.
- 집계: 가구별 산출 후 5가구 평균/표준편차 보고.
- Seed: smoke 는 seed=42 단일. Pass gate 통과 시 seed ∈ {42, 7, 123} 3-seed 확대.
- 비교 baseline: v6 Chronos zero-shot (PAPE 44.98%, HR 37.68%) — 동일 데이터/스플릿에서 직접 비교.
4.5 MLflow 기록¶
- Experiment:
v9-chronos-lora - Run 구조:
r{4,8}_{apt}_seed{N}형태. - Params: rank, alpha, target_modules, lr, epochs, seed, apt.
- Metrics/step: train_loss, val_mse (epoch 단위).
- Artifacts (필수):
- Best adapter weights →
mlflow.log_artifact(adapter_dir) - Test
y_true.npy,y_pred.npy저장 - 가구별 metric csv
5. 과적합 리스크 프로토콜¶
5.1 리스크 분석¶
- EC50 5가구 train window 수는 가구당 ~5,000h × 0.7 / stride → 약 3,000–4,000 샘플 수준. LoRA trainable param (r=8, q/v 모두) ~=
8 * (512 + 512) * 2 (q,v) * 6 (layer) * 2 (enc+dec) ≈ 196K→ train 샘플과 같은 오더. 과적합 가능성 높음.
5.2 가드 조치¶
- Rank 상한 r ≤ 8 (r=16+ 평가하지 않음).
- Early stopping: val MSE 기준 patience=5 epoch.
- LoRA dropout 0.1 유지.
- Weight decay 0.01.
- Smoke gate 우선: seed=42 단일 run 으로 5가구 train/val 커브 점검 → val 상승 전환 시점이 5 epoch 이내로 빠르면 lr 낮춤 (5e-6) 재시도.
- Held-out val 기반 체크포인트 선택: val MSE 최소 지점 adapter 를 test 평가용으로 사용.
- 정규화 충돌 점검: Chronos-Bolt 는 내부에 per-series scaling 을 가진다. 외부 z-score 와 이중 정규화되지 않는지 smoke 단계에서 한 가구 예측값 시각화로 확인.
5.3 조기 경고 기준¶
smoke 결과에서 다음 중 하나 발생 시 lr 하향 + rank 고정 재검토: - Train loss 는 감소하지만 val MSE 가 3 epoch 이내에 zero-shot 추론값보다 나빠짐. - test PAPE 가 zero-shot (44.98%) 보다 +3%p 이상 악화.
6. 구현자(engineer) 체크리스트¶
6.1 의존성¶
uv add peft(2024 하반기 이후 버전, Chronos-Bolt T5 호환 확인됨). 버전은peft >= 0.11권장 (T5 +target_modules문자열 매칭 안정).- 기존
chronos패키지 유지 (로컬 importfrom chronos import ChronosBoltPipeline현 상태 재사용). transformers는 현재 로드된 버전 유지.ChronosBoltModelForForecasting이transformers.T5Model기반이므로peft.get_peft_model()직접 wrapping 가능.
6.2 데이터 로더 재사용¶
fed_learning.data_utils.create_household_dataloaders(apt, 96, 24, batch_size=32)그대로 사용.- 학습 루프는 z-score 정규화된 입력을 받되, Chronos-Bolt 내부 scaling 과의 중복을 피하기 위해 context 를 원본 스케일 그대로 Chronos 에 투입하는 것을 권장 (v6 baseline 에서도
x_raw = x_norm * std + mean처리).
6.3 Chronos-Bolt 학습 가능성 설정¶
from chronos import ChronosBoltPipeline
from peft import LoraConfig, get_peft_model
pipe = ChronosBoltPipeline.from_pretrained(..., dtype=torch.bfloat16)
inner_model = pipe.inner_model # transformers T5 기반 실제 nn.Module
# 모든 파라미터 동결
for p in inner_model.parameters():
p.requires_grad = False
lora_cfg = LoraConfig(
r=8,
lora_alpha=16,
target_modules=["q", "v"],
lora_dropout=0.1,
bias="none",
task_type=None, # T5 커스텀 래퍼 → 문자열 task_type 우회
)
inner_model = get_peft_model(inner_model, lora_cfg)
inner_model.print_trainable_parameters() # ~100–200K 수준 기대
task_type은 Chronos-Bolt 가 CausalLM/Seq2Seq 표준 head 가 아니므로None또는FEATURE_EXTRACTION로 두고, forward signature 는 Chronos 내부 loss (quantile) 를 그대로 사용.- 추론 시
ChronosBoltPipeline.predict()가 adapter 적용된inner_model을 사용하도록 결선 확인 (HF PEFT discussion #166 에서 보고된 이슈 사전 점검).
6.4 bf16 / 메모리 / batch 권장¶
- bfloat16 로 로딩 (
dtype=torch.bfloat16). LoRA A/B 는 fp32 유지가 기본이지만 PEFT 가 처리. - 5070 Ti 16GB 기준, batch_size=32, seq_len=96 는 여유. gradient_accumulation_steps=1 로 시작.
- 체크포인트는
adapter_model.safetensors+adapter_config.json만 저장 →mlflow.log_artifact로 업로드.
6.5 산출 스크립트¶
- 파일명:
experiments/forecasting/v9_0423_chronos_lora.py - 선행 스모크 테스트:
tests/test_chronos_lora_smoke.py— 한 가구 1 epoch 로딩/fwd/bwd 성공 여부만 확인.
6.6 engineer 에게 전달 시 실수하기 쉬운 포인트¶
pipe래퍼 바깥에서requires_grad=False설정 시 LoRA B 가 여전히requires_grad=True인지print_trainable_parameters()로 검증.predict()내부에서 quantile 을 반환하므로median(axis=1)로 point forecast 추출 (v6 baseline 과 동일 방식).- Chronos-Bolt 의 context 는 patch 단위(16-step) 로 chunked 된다. seq_len=96 은 6 patches 로 정확 나뉘지만 다른 길이 실험 시 주의.
7. Stage 2 산출물 및 다음 단계 연결¶
7.1 산출물¶
experiments/forecasting/v9_0423_chronos_lora.py(engineer)report/version9/exp-expert/v9-03_chronos_lora_results.md(exp-expert)outputs/v9_chronos_lora/{apt}/adapter/— 가구별 LoRA 가중치- MLflow
v9-chronos-loraexperiment 런
7.2 Stage 3 연결 (본 설계 범위 밖, 기록용)¶
본 설계에서 저장하는 가구별 LoRA adapter 는 두 가지 후속 경로를 모두 지원하도록 스키마를 열어둔다:
- 후속 경로 B-local (권장): Chronos(LoRA prior) 예측을 입력에 추가한 FeDPM+DLinear residual 재학습 → v6 R1b 의 PAPE 38.40% 추가 개선 시도.
- 후속 경로 A-FL (대안): FedSA-LoRA 방식으로 5가구 LoRA A 매트릭스만 서버 평균 → 개인화 B 유지한 상태로 재평가.
Stage 3 진입 여부는 Stage 2 성공 판정 및 사용자 승인 후 별도 설계서로 분기한다.
8. 참고 문헌¶
LoRA / TS FM Fine-tuning¶
- Gupta et al., "Low-Rank Adaptation of Time Series Foundational Models for Out-of-Domain Modality Forecasting", arXiv:2405.10216 (2024). https://arxiv.org/pdf/2405.10216
- Nie et al., "Beyond LoRA: Exploring Efficient Fine-Tuning Techniques for Time Series Foundational Models", arXiv:2409.11302 (2024). https://arxiv.org/html/2409.11302v1
- AWS Artificial Intelligence Blog, "Fast and accurate zero-shot forecasting with Chronos-Bolt and AutoGluon". https://aws.amazon.com/blogs/machine-learning/fast-and-accurate-zero-shot-forecasting-with-chronos-bolt-and-autogluon/
- AutoGluon Docs, "Forecasting with Chronos-2". https://auto.gluon.ai/dev/tutorials/timeseries/forecasting-chronos.html
- HuggingFace PEFT LoRA reference. https://huggingface.co/docs/peft/en/package_reference/lora
- amazon-science/chronos-forecasting Discussion #166 (PEFT + predict 이슈). https://github.com/amazon-science/chronos-forecasting/discussions/166
FedLoRA (2024–2025)¶
- Sun et al., "Selective Aggregation for Low-Rank Adaptation in Federated Learning (FedSA-LoRA)", ICLR 2025 / arXiv:2410.01463. https://arxiv.org/html/2410.01463v1
- Sun et al., "Improving LoRA in Privacy-preserving Federated Learning (FFA-LoRA)", arXiv:2403.12313 (2024). https://arxiv.org/abs/2403.12313
- Liu et al., "Federated Low-Rank Adaptation for Foundation Models: A Survey", IJCAI 2025. https://www.ijcai.org/proceedings/2025/1196.pdf
- Singhal et al., "FedEx-LoRA: Exact Aggregation for Federated and Efficient Fine-Tuning of Foundation Models", arXiv:2410.09432 (2024). https://arxiv.org/abs/2410.09432
FM + FL Time Series (2025)¶
- Xu et al., "Fine-Tuning Foundation Models with Federated Learning for Privacy Preserving Medical Time Series Forecasting", arXiv:2502.09744 (2025). https://arxiv.org/abs/2502.09744
- Liu et al., "FeDaL: Federated Dataset Learning for Time Series Foundation Models", arXiv:2508.04045 (2025). https://arxiv.org/html/2508.04045v1
- Qiu et al., "TIME-FFM: Towards LM-Empowered Federated Foundation Models for Time Series Forecasting", NeurIPS 2024. https://proceedings.neurips.cc/paper_files/paper/2024/file/abc1943857a42935ceacff03c524bb44-Paper-Conference.pdf
LoRA + Quantization / VQ for FL (참고)¶
- Grativol et al., "Federated Learning Compression With Low-Rank Adaptation (FLoCoRA)", 2024. https://hal.science/hal-04617632v1/document
- Kuo et al., "Federated LoRA with Sparse Communication (FLASC)", arXiv:2406.05233 (2024). https://arxiv.org/html/2406.05233v1