Site Panel

빠른 설정
김선영 프로필 사진
김선영 한세대학교 22학번 컴퓨터공학과 졸업생
빠른 이동
사이트 검색
읽기 설정
테마
글자 크기
본문 폭
태그 바로가기
연락처

DevLog Feed

짧은 개발 기록 피드

짧게 배운 점, 구현 중 막힌 지점, 다음에 시도할 내용을 피드처럼 기록합니다.

김선영

당신의 독자 / 타임어택 코딩도장 Vercel 서버 로그

댓글 0

최근 vercel에 배포한 허깅페이스 웹들이 분석을 생성하는데 서버 오류가 자꾸 떴었다.

vercel 앱에 들어가서 로그를 확인하니까 다음과 같은 502 서버 에러를 발견함!

502서버에러

AI에게 결과물 텍스트를 기대했지만 정상적인 응답 데이터를 만들어내지 못해서

502 Bad Gateway(서버가 게이터웨이 역할을 하는 중 백엔드로부터 유효하지 않은 응답을 받음)를 반환한것.

402허깅페이스요청실패

라이브 실행 후 다시 한번 요청을 전송하자, 자세한 로그를 통해 허깅페이스로부터 402에러를 받은것을 확인했다.

허깅페이스 계정에는 $0.10 무료 크레딧을 제공받고있는데 크레딧을 전부 소모해서 이런 에러가 났던것이다.

코덱스로 구현하면서 처음 기획에서는 KoBERT / KcBERT라는 SKT 공개 모델을 사용하려 했으나 실제 구현 과정에서 Qwen2.5-7B-Instruct 모델로 변경됬었다.

아무리 무료 요금제라고 해도 글 7편정도 감정 분석을 맡기고 코딩테스트 문제를 1개 생성하고 의사코드분석을 1번 한 정도로 한달치 무료 요금제를 금방 소모한것으로 봐서 어딘가 효율성이 어긋나있을거다! 라고 확신했다.

402허깅페이스요청실패

Qwen2.5-7B-Instruct 사용량이 한눈에 봐도 많았다. 당신의 독자에서 단순 감정분석까지 고성능의 모델에 의존하고 있고 AI에게 물어봤을때도 Qwen2.5-7B-Instruct는 7B(7Billion) 생성형 모델은 단순 감정 분류에는 무겁다고 말했다.

감정분류/감정점수화는 감정 데이터로 파인튜닝한 KoBERT/KLUE-RoBERTa 계열, 공감/답글요약은 Qwen2.5-7B-Instruct 영어 번역은 NLLB 또는 Qwen, 핵심 문장 선택은 분류 모델의 문장별 점수 또는 Qwen로 분류해보도록 조언해줬다. 감정 분석은 소형 전용 모델, 자연어 답글은 Qwen으로 분리해서 Qwen 호출량을 줄어들게 하고 서비스를 더 많이 이용할 수 있게 할수 있게 바꿔보는게 좋을거같다.

김선영

Codex

댓글 0

Codex를 사용해서 hugging face 프로젝트를 뚝딱 생성했다.

figma와 노션 정리부터 vercel 배포까지 Codex 플러그인에 연결하면 며칠안에 금방 프로토타입을 생성할 수 있다.

뿐만 아니라 Unity와 연동 가능해서 단순 코드작성이 아닌 씬 배치, 로직 작성, 디버깅도 맡길 수 있다. 정말 편리한 도구를 찾아내서 기분이 좋다!

게다가… 코덱스에 작업진행을 알려주는 펫 기능도 있다.

실행중

Codex가 작업을 실행하는 동안 표시되는 펫 애니메이션

실행완료

Codex 작업 완료 상태를 보여주는 펫 애니메이션

너무 귀엽다. ㅎㅎ

김선영

AWS에 5달러 청구받았다..

댓글 0

이전에 스마트디바이스 실습때, AWS MQTT를 사용하기 위해 AWS계정을 생성한적 있다. AWS에 사물 정책을 추가하고 온습도 Topic을 구독Subscribe 해서 데이터 흐름을 연결하고 메시지를 확인하는 핵심적인 브로커 용도로 사용했었다. 쉽게 말해 이것도 클라우드를 활용한 통신실습 해당_글_바로가기

하지만 최근들어 웹페이지 배포를 위해 백엔드 서버용으로 AWS를 다시 사용한적이 있는데, 분명 Free Tier 요금은 무료라고 들었는데 5달러를 청구받았다. 한도를 초과했나? 하고 결제 대시보드의 Free Tier항목을 클릭해서 확인했는데, 사용량이 전혀 없다고 떴다. 다시말해 일반 요금으로 전환되서 청구됬다는 뜻!

내가 간과했던점은, Free Tier는 가입일로부터 12개월동안 쓸 수 있는 기간제 무료요금이고 나는 이미 AWS 계정을 생성한지 한참 지났다는것이다. 내가 배포한 2개 인스턴스중 하나는 nohup로 백그라운드 실행중이었고 하나는 포그라운드 상태로 내가 접속종료했을때 서버다운 되도록 했었고, 사이트 접속량이 많지 않는데도 이렇게 요금이 청구된다는 사실에 조금 놀랐다.

Virtual Private Cloud: IP할당에 2.13달러, Amazon Elastic Compute: Linux CPU RAM 사용 요금에 5.49달러, EBS: 인스턴스에 부착된 가상 하드디스크 저장공간 사용요금(이건, 인스턴스 만드는것 자체요금) 결과적으로 지금은 두 인스턴스 다 사용중지한 상태다. EBS 보관 요금까지 나오지 않게 하려면 볼룸에 들어가서 완전히 삭제시켜야한다. OMG… 이제라도 알게되서 다행이다!

김선영

AOI 두 프로젝트를 마치며...

댓글 0

웨이퍼 결함 탐지 프로젝트는 .Net 환경에서 C++과 C#, OpenCV를 활용한 영상처리를 공부하며 진행했다.

또한, 가상 웨이퍼 이미지와 그레이 스케일 이미지들을 활용해 영상처리 개념을 적용해봤다.

기존에 학교 수업에서 사용하던 MATLAB과 다르게, 독립적으로 구동되는 윈도우 실행 파일을 빌드했고,

디버깅 과정을 거쳐 DLL 연동과 헤더 파일 분리 등 실무적인 소프트웨어 구조를 실습할 수 있었다.

AOI 프로젝트에서는 실제 결함 데이터인 WM-811K 웨이퍼 맵 데이터셋을 활용했다.

이 데이터셋은 반도체 웨이퍼 결함 패턴 분류 모델 연구에 자주 사용되는 Kaggle 공개 데이터셋이다.

Google Colab 환경에서 Python을 사용해 CNN 기반 AI 모델 아키텍처를 정의하고, 모델 학습 파이프라인을 구축했다.

테스트에는 모델 학습 과정에서 전처리한 데이터셋을 PNG 이미지로 추출한 2개의 샘플 이미지를 사용했다.

추론 결과 화면은 WPF와 MFC 환경에서 각각 구현했다.

C# WPF 환경에서는 ONNX Runtime 패키지를 사용해 추론을 수행했고, MFC 환경에서는 ONNX Runtime C API를 활용해 추론을 수행했다. 그 결과 두 환경 모두에서 유의미한 분석 결과를 확인할 수 있었다.

앞으로 더 많은 이미지를 대상으로 분석을 확장해보고자 한다.

이걸로 끝! 하기보다 figma로 아키텍처 설계하고 기획단계에서 예상한 산출물과 결과로 나온 산출물의 간극이 있었는지도 돌아봐야겠다.

projectopencvMachine Visionsemiconductor
김선영

홈 화면을 읽기 중심으로 정리

댓글 0

홈 화면에서 게임 장식보다 글을 먼저 읽을 수 있도록 레이아웃 구조를 바꿨다.

최근 글, 관심 태그, 프로필, 개발 활동이 한 화면에서 자연스럽게 이어지도록 배치했고, 블로그의 성격이 더 분명하게 보이도록 문구를 정리했다.

DevLog는 링크드인과 스택 오버플로우에서 영감을 받았다.

긴 글은 구체적으로 이해하기 좋지만 가독성이 떨어진다고 생각한다. SNS나 커뮤니티의 글들이 짧은 이유가 그렇듯!

피드를 통해 블로그 방문자에게 간단한 생각을 나누고 개발 활동을 친근하게 설명하는것을 목표로 했다.

JekyllBlogUI