PKC 벤치마크 툴 개선 보고서
- 날짜: 2025년 10월 04일
- 작성자: AI Mark
- 문서 목적: 사용성 개선 및 오류 수정을 위해 금일 진행된 'PKC 벤치마크 툴 MARK'의 모든 수정 사항을 기록하고, 각 변경점의 목적과 기대 효과를 명확히 정리함.


요약
금일 작업은 'GPU 최적화' 기능의 사용자 경험(UX)을 대폭 개선하고, 문서(README)의 명확성을 높이는 것에 중점을 두었습니다. 초기에는 GPU 최적화 기능이 복잡한 수동 조작을 요구하고 진행 상황이 표시되지 않는 등 여러 문제점을 안고 있었으나, 일련의 수정을 통해 클릭 한 번으로 자동 재시작까지 완료되는 직관적인 프로세스로 탈바꿈했습니다. 또한, 사용자가 모델별 GPU 지원 방식을 오해하지 않도록 README 문서를 상세히 보강하여 정보의 정확성을 높였습니다.
1. GPU 최적화 프로세스 자동화 및 안정성 강화
1.1. 문제점: 불편한 수동 서버 재시작 및 정보 미갱신
- 현상: 'GPU 최적화' 완료 후, 새로 설치된 GPU용 라이브러리가 적용되지 않아 UI의 시스템 정보에 여전히 PyTorch: ...+cpu로 표시됨.
- 원인: 설치 마법사가 라이브러리를 변경해도, 이미 실행 중인 서버는 기존의 CPU 버전 정보를 계속 사용함. 이를 해결하려면 사용자가 직접 검은 콘솔 창을 찾아 끄고, OneClick_RUN.bat을 다시 실행해야 하는 번거로움이 있었음.
1.2. 해결 과정: 자동 재시작 시스템 구축
- 1단계: 서버 종료 기능 구현 (benchmark_server.py):
- UI에서 신호를 보내 서버를 원격으로 종료시킬 수 있는 /api/shutdown API를 신규 추가함.
- 서버 종료 시, 자동 재시작을 위한 신호로 _RESTART_FLAG_라는 빈 파일을 생성하도록 로직을 추가함.
- 2단계: 자동 재시작 로직 구현 (OneClick_RUN.bat):
- 서버를 실행하는 부분을 무한 루프로 감싸고, 서버 프로세스가 종료될 때까지 기다리도록 start /wait 명령어로 변경함.
- 서버 종료 후 _RESTART_FLAG_ 파일이 있는지 검사하여, 파일이 존재하면 자동으로 루프의 처음으로 돌아가 서버를 재시작하도록 수정함.
- 3단계: UI 연동 및 안내 강화 (benchmark_canvas.html):
- 'GPU 최적화' 완료 시 "서버 재시작이 필요합니다"라는 안내창(모달)을 표시하도록 UI를 수정함.
- 안내창의 [지금 서버 종료] 버튼을 누르면 /api/shutdown API를 호출하여 자동 재시작 프로세스가 시작되도록 연동함.
1.3. 기대 효과
- 사용자는 더 이상 복잡한 수동 조작 없이, 안내창의 버튼 클릭만으로 GPU 최적화와 서버 재시작을 모두 완료할 수 있게 됨. 사용자 경험이 획기적으로 개선됨.
2. GPU 최적화 중 응답성 및 편의성 개선
2.1. 문제점: '먹통'으로 보이는 설치 과정
- 현상: 'GPU 최적화' 버튼을 누르면 로그 창에 "마법사 호출..." 메시지만 표시된 채 아무런 반응이 없어, 사용자가 프로그램이 멈춘 것으로 오인하고 강제 종료(KeyboardInterrupt)하는 상황이 발생함.
- 원인: 설치 마법사(install_wizard.py)가 2GB가 넘는 PyTorch 라이브러리를 다운로드하는 동안, 진행 상황을 실시간으로 UI에 보여주지 못하고 모든 과정이 끝난 후에야 결과를 한꺼번에 출력했기 때문임.
2.2. 해결 과정: 실시간 로그 스트리밍 구현
- 1단계: 기존 PyTorch 강제 제거 (install_wizard.py):
- 새로운 라이브러리를 설치하기 전에, 기존에 설치된 PyTorch를 pip uninstall 명령으로 먼저 깨끗하게 제거하는 로직을 추가하여 설치 오류 가능성을 줄임.
- 2단계: 실시간 출력으로 전환 (install_wizard.py):
- subprocess.run 대신 subprocess.Popen을 사용하여, pip 명령어의 출력이 한 줄씩 발생할 때마다 즉시 UI 로그 창으로 전송되도록 run 함수를 개선함.
- 3단계: Windows 인코딩 오류 수정 (benchmark_server.py):
- 마법사 프로그램의 한글, 이모지 등이 포함된 출력을 서버가 읽어오는 과정에서 Windows의 cp949 코덱 문제로 오류가 발생하는 것을 발견함.
- subprocess.Popen 호출 시 encoding="utf-8" 옵션을 명시하여, 모든 운영체제에서 안정적으로 통신하도록 수정함.
2.3. 기대 효과
- 사용자는 이제 'GPU 최적화' 과정에서 현재 설치 중인 항목과 다운로드 진행률(%)을 실시간으로 확인할 수 있게 됨. '먹통' 현상이 사라져 사용자 편의성이 크게 향상됨.
3. README.md 문서 명확성 강화
3.1. 문제점: 부정확하고 오해의 소지가 있는 정보
- 현상: GGUF 모델도 GPU 가속이 가능함에도 불구하고, README에는 "기본 CPU 실행", "수동 빌드 필요" 등으로 설명되어 있어 사용자가 GGUF는 GPU를 전혀 사용하지 못하는 것으로 오해할 소지가 있었음. 또한, AMD(라이젠) CPU 지원 여부가 불분명했음.
- 원인: 프로그램의 '기본 설치 정책' 위주로만 설명되어, 실제 기술적인 동작 방식과 사용자에게 제공되는 기능에 대한 설명이 부족했음.
3.2. 해결 과정: 내용 보강 및 재구성 (README.md)
- GGUF GPU 가속 설명 추가: GGUF 모델이 llama-cpp-python의 기본 기능인 'GPU 레이어 오프로딩'을 통해 별도 설치 없이도 GPU 가속을 사용한다는 점을 명확히 기술함.
- CPU 지원 명시: AMD 라이젠(Ryzen) CPU를 포함한 모든 CPU 환경에서 프로그램이 완벽하게 동작한다는 안내 문구를 추가함.
- GPU 최적화 과정 상세 안내: 사용자가 따라하기 쉽도록, 최적화 버튼 클릭부터 서버 자동 재시작, 그리고 **필수적인 '브라우저 새로고침(F5)'**까지의 전 과정을 상세한 단계별 가이드로 추가함.
- 가독성 개선: 마크다운 뷰어에 따라 깨져 보일 수 있는 표(table) 형식을 모두 제거하고, 가독성이 높은 목록 형태로 서식을 변경함.
3.3. 기대 효과
- 사용자는 이제 README 문서만으로도 각 모델(Transformers, GGUF)별 GPU 지원 방식의 차이를 명확히 이해하고, GPU 최적화 과정을 혼란 없이 수행할 수 있게 됨. 정보의 정확성과 신뢰도가 향상됨.
총평
금일 개선 작업을 통해 'PKC 벤치마크 툴'은 초기 버전의 여러 불편한 점들을 해결하고, 사용자 친화적인 자동화 시스템과 명확한 문서를 갖추게 되었습니다. 특히 GPU 최적화와 관련된 복잡한 과정이 대폭 간소화되었습니다.
'AI MARK Benchmark' 카테고리의 다른 글
| GPT-20B vs ERNIE-21B Llm 벤치마크 로그 정밀 분석 (0) | 2025.11.04 |
|---|---|
| LLM LLaVA v1.5-7B 벤치마크 분석 리포트 (0) | 2025.11.03 |
| PKC 벤치마크 툴 MARK (공개용) 분석 보고서 (0) | 2025.09.27 |
| Phase 6: 프로젝트 보고서: PKC llm, llama 벤치마크 툴 정상화 및 안정화 (5) | 2025.09.25 |
| Phase 5: PKC llm llama MARK 벤치마크 툴 - 작업 보고서 (0) | 2025.09.25 |