R-Blogger블로그·해설한국어2025-10-22
샘플 데이터 순회
LLM 성능 시각화를 위한 R 예제 이번 학기에 “현대 평문 컴퓨팅” 과목을 가르치고 있기에, 데이터 테이블을 다룰 때 자주 쓰는 작은 기법들을 보여줄 수 있는 간단한 예제들을 찾고 있습니다. 그 중 하나는 플롯을 그리거나 모델을 적합하는 등 다른 주제를 보여줄 때 사용할 샘플 데이터를 만드는 것입니다. 이는 패키지에 함께 제공되는 내장 데이터셋, 예를 들어 mtcars나 최근의 palmerpenguins처럼 사용됩니다. 하지만 때로는 직접 예제를 만들게 되죠. 반복적으로 수행하기 좋은 연습이 될 수 있습니다. 최근 평가 데이터를 시각화해 달라는 질문을 받았는데, 상황은 다음과 같습니다. LLM을 다섯째부터 열다섯 번째까지, 총 15개의 모델을 테스트하고 있습니다. 각 모델은 반복된 테스트 데이터 샘플을 보며 “Yes/No” 응답을 반환하도록 훈련되었습니다. 각 LLM에 대해 백 개의 질문이 주어집니다. 같은 백 개의 질문에 대해 전문가가 “Yes/No”를 판단해 주었으며, 이는 ground truth가 됩니다. 이제 LLM의 성능을 측정하려면 confusion matrix를 만들어야 합니다. 비즈니스 관점에서 보면 응답은 비용이 다릅니다. 정답(참양성 또는 참음성)은 1 단위, False Negative는 2 단위, False Positive는 가장 비용이 크며 4 단위입니다. 이 질문은 어떤 그래프를 그릴까 하는 생각을 묻는 것이었습니다. 실제로 데이터를 가정해 보고 어떤 표준 데이터셋이 유사한 구조를 갖는지 확인해 볼 수도 있지만, 여기서는 “스택형 막대 그래프(가로로 뒤집은 형태)”를 시도해 보려 합니다. R 코드 예시 set.seed(100125) # 같은 'random' 결과를 얻기 위해 ## LLM별 100개의 Yes/No 응답을 생성하고, 인간 기준과 비교 eval_llm % map_dfr(run_llm) ## 인간 기준 벡터 human_evals % pivot_longer(everything()) %% group_by(name, value) %% tally() %% mutate(prop = n / sum(n), cost = case_when( value %in% c("True Positive", "True Negative") ~ 1L, value == "False Negative" ~ 2L, value == "False Positive" ~ 4L)) ## 시각화 ggplot(llm_summary, aes(x = name, y = n, fill = value)) + geom_bar(stat = "identity") + labs(title = "LLM 성능 대비 인간 기준", subtitle = "False Positive가 False Negative의 두 배 비용", fill = "LLM이 예측한 결과") + theme_minimal() 위 예제에서 run_llm 함수는 각 LLM에 대해 100개의 Y/N 응답을 생성하고, eval_llm 함수는 그 결과를 인간 기준 벡터와 비교해 confusion matrix를 계산합니다. 결과를 데이터프레임에 모은 뒤 pivot_longer를 이용해 길게 변환하고, group_by와 tally를 사용해 빈도와 비율, 비용을 계산했습니다. 마지막으로 ggplot2를 활용해 가로 스택형 막대 그래프로 시각화했습니다. 주요 포인트 정리 반복적 계산을 위해 map, map_dfr 같은 함수형 프로그래밍 기법 사용 결과를 factor 타입으로 변환해 dplyr이 빈 그룹을 제거하지 않도록 함 비용 코드를 도입해 성능 평가지표를 비용 기반으로 가중 평균 가로 스택형 막대 그래프를 사용해 LLM별 성능을 한눈에 비교 가능 이 예제를 참고해 데이터셋을 만들고, 평가하고, 시각화하는 과정을 단계별로 연습해 보세요. 반복적으로 실행하면서 결과를 정리하면, 실제 데이터 분석 프로젝트에서도 유용하게 활용할 수 있을 것입니다.
원문 URL
전체 글은 원문 페이지에서 이어서 읽을 수 있습니다.
- 작성자
- R-Blogger
- 출처
- R-Blogger
- 플랫폼
- R-Blogger
- 분류
- 블로그·해설
- 언어
- 한국어
- 발행일
- 2025-10-22