주니어 엔지니어 때 알았더라면 좋았을 것들 (2)
주니어 엔지니어 때 알았더라면 좋았을 것들 (2)
2025.03.301편에 이어서 2편에서도 내가 주니어 엔지니어 때 알았더라면 좋았을 것들에 대해서 정리해 본다. 마찬가지로 이는 나의 주관적인 의견이며 누군가에게는 잘 맞지 않는 내용일 수도 있다. 모든 내용을 비판 없이 받아들이기보다는 본인 상황과 환경에 맞게 적절히 취사선택한다면 더할 나위 없을 것이다. 1. 독서조금은 뜬금없는 주제일지도 모르겠다. 2025년 기준으로 ChatGPT를 위시한 생성형 인공지능 시스템들이 즐비하며, 우리가 원하는 정보는 인터넷에서 쉽게 찾을 수 있으니 말이다. 역설적이지만 그러므로 독서의 중요성은 더 올라간다고 생각한다. 그래서 누군가가 나에게 독서가 중요하냐고 물어보면 짧은 답은 '그렇다'이다. 이때 독서의 부류는 기술 서적과 일반적인 서적 모두를 포괄한다. 하지만 이렇게 얘기하는 것..
주니어 엔지니어 때 알았더라면 좋았을 것들 (1)
주니어 엔지니어 때 알았더라면 좋았을 것들 (1)
2025.03.16대학원 석사 과정 2년이 나에게는 정말로 쉽지 않은 시간이었는데, 오히려 졸업하고 나서야 대학원생 때 알았더라면 좋았을 것들이라는 책을 보게 되었고 이걸 진작 알았더라면 하는 생각이 많이 들었었다. 소프트웨어 엔지니어로서 8년 가까이 일을 한 이제는 모든 것이 적절한 때가 있다는 얘기가 많이 공감된다. 최근에 글또 내에서 주니어 엔지니어분들과 커피챗을 할 기회가 있었는데 그들의 고민하는 부분과 이전에 모 대학교 특강에서 자주 묻는 말들로 정리한 것들이 꽤 많이 겹치는 것이 있어 이번 기회에 내가 생각하는 주니어 엔지니어 때 알았더라면 좋았을 것들을 정리해 본다. 시작하기에 앞서 글 작성자는 컴퓨터 공학을 전공했고 머신러닝 관련 석사를 했으며, 운이 좋게도 경력 시작부터 좋은 조직들을 거쳐왔기 때문에 모든..
코드트리 (Codetree) 두 달 이용 후기
코드트리 (Codetree) 두 달 이용 후기
2025.03.09코드트리 (Codetree) 한 달간 사용 후기에서 첫 한 달 이용 후기를 남긴지가 엊그제 같은데 벌써 두 달이 지났다. 추가 한 달은 기존 트레일보다는 조금 난도가 있는 내용들을 주로 살펴보고 문제 풀이를 했었는데, 특히 처음 코딩테스트를 접하는 사람들이 힘들어하는 부분인 재귀함수 관련 내용이 그림으로 자세히 설명하고, 숙달될 때까지 유사한 유형을 제공해 주는 부분이 좋았다. 특히 시중의 코딩테스트 책들이 배열이나 트리와 같은 자료구조를 먼저 얘기하고 트리나 필요한 상황이 있을 때 재귀 호출 코드를 바로 설명하는 경우가 많은데, 코드 트리의 경우 앞부분에서 함수 호출과 재귀 호출에 관한 내용을 먼저 서술하면서 자연스럽게 완전 탐색까지 이어지는 커리큘럼이 신경을 많이 썼다는 생각이 들었다.그 외에 첫 한..
Cache를 활용해서 똑똑하게 중복 로그를 방지해보자!
Cache를 활용해서 똑똑하게 중복 로그를 방지해보자!
2025.03.02배경최근 Quantization Simulation 내용이 포함된 Machine Learning Pipeline 스크립트를 작성할 일이 있었다. 비교적 최근에 AI 조직으로 합류하게 된 엔지니어의 교육용이자 Hands-on을 위한 스크립트였는데, 각 블록이 어떤 역할을 하는지 코드 레벨로 확인할 수 있게 로그를 심는 부분이 있었다. 회사 내의 업무라 정확한 내용을 얘기하기는 좀 어렵지만, 다루는 모델의 크기가 크기 때문에 모델에 대한 특정 정보를 로깅 해서 단순히 남길 때 너무 많은 로그가 생성되고 그중 많은 부분이 중복되는 정보여서 여간 신경 쓰이는 것이 아니었다. 사실 교육용 스크립트고, 읽는 사람이 약간의 귀찮음을 감수하면 큰 문제는 없었지만, 코드 리뷰 때 비슷한 질의를 다른 엔지니어들에게도 몇 ..
양자화 (Quantization)와 반올림 (Rounding)
양자화 (Quantization)와 반올림 (Rounding)
2025.02.16배경LLM을 비롯한 AI Application의 배포 타겟은 Cloud 기반에서 실행되는 서버 향도 존재하지만, 여러 장점 (개인 프라이버시, 저전력/저발열 등)을 가지고 있는 On-device도 활발히 연구/개발 중인 분야입니다. 특히 상대적으로 연산의 성능이나 메모리 제약으로 인해 On-device AI의 경우 양자화 (Quantization)을 높은 비율로 채용하게 되는데요. 양자화는 결국 정보 손실을 필연적으로 가지므로 Application의 성능 (Accuracy 등)에서 손해를 어느 정도는 감수할 수밖에 없습니다. 문제는 매번 여러 가지 양자화 실험을 한 후에 타겟 Device에 모델을 배포하고 성능을 측정하는 것이 굉장히 귀찮고 번거로운 작업일 텐데요. 따라서, 직접 하드웨어까지 배포하지 않..
코드트리 (Codetree) 한 달간 사용 후기
코드트리 (Codetree) 한 달간 사용 후기
2025.02.02개발자 커뮤니티인 글또와 제휴를 맺은 다양한 기업 및 서비스를 체험해 볼 수 있는 여러 기회가 있었는데, 나는 이번에 코딩테스트 및 자료구조/알고리즘 공부 플랫폼인 코드트리 (Codetree)에 챌린지 지원을 하여 약 한 달간 사용 후 후기를 남겨본다. 소프트웨어 엔지니어로 현재 일하고 있거나 대학생의 경우라도 구직 준비 중이라면 코딩 테스트에 대해서는 어느 정도 알고 있을 것인데, 기존에 잘 알려진 플랫폼으로는 LeetCode나 프로그래머스와 같은 서비스가 있을 것 같다. 우선 구체적인 후기를 남기기 전에 몇 가지 나의 배경 및 면책 조항을 먼저 얘기하고 시작하는 것이 좋을 것 같아서 명시하고 넘어가 본다.배경 및 면책 조항배경: 나는 17년부터 소프트웨어 엔지니어로 근무를 시작했고, 지원자로서 코딩 ..
문화체육관광부 추천 도서 (성인과 유아/청소년)
문화체육관광부 추천 도서 (성인과 유아/청소년)
2025.01.30설을 지내고 나니 벌써 1월의 마지막에 가까워졌고, 다시 말해서 25년도의 1/12가 지나간 셈이다. 나를 포함해 신년 목표로 독서를 계획한 사람들이 많을 것으로 생각한다. 본인만의 독서 계획이 있는 사람도 있겠지만, 이제 독서를 막 시작하는 사람이라면 어떤 책을 읽을지부터가 난관일 것 같다. 다행히도 문화체육관광부의 국립중앙도서관과 국립어린이청소년도서관에서 사서 추천 도서를 공개하고 있으니, 본인과 자녀들이 있다면 해당 추천 도서 리스트를 참고하면 좋은 시작점이 될 것 같다. 자세한 내용은 아래에서 서술한다.국립중앙도서관 추천 도서문화체육관광부 국립중앙도서관 홈페이지 또는 다음 링크를 통해서 여러 주제 (문학, 인문과학, 사회과학, 자연과학) 및 테마별로 정리한 추천 도서를 찾아볼 수 있다. 등록순으로..
머신러닝 엔지니어의 2024년 회고
머신러닝 엔지니어의 2024년 회고
2024.12.31개요연차가 쌓이면서 하루하루는 더디게 느껴지지만 한 주, 한 달, 그리고 한 해는 눈 깜짝할 새 지나는 것 같다. 2023년 회고를 작성한 것이 얼마 되지 않은 것 같은데 벌써 2024년의 막바지에 기록을 남겨본다. 글을 작성하기 전 2023년 회고를 읽어봤는데, 나란 사람 자체가 변화를 크게 좋아하지 않고 루틴을 지키려고 하는 편이라 그런지 크게 변함없는 한 해를 보낸 것 같다. 조금 미리 작성하면 더 좋을 텐데 올해도 12월 31일 딱 마지막 날에 글을 작성하는 것도 작년과 똑같은 모습에 조금은 반성하게 된다. 그런데도 올 한 해 성취한 내용과 잘했던 점, 아쉬운 점 그리고 미약하지만 2025년도에 이루고 싶은 목표를 작성해 보고자 한다.잘했던 점Staff Engineer 승진올해 9월로 Qualco..
PyTorch Custom Op to ONNX
PyTorch Custom Op to ONNX
2024.12.22앞선 포스트에서 몇 번 언급했던 것처럼 최근 머신러닝 애플리케이션은 연구자 (조직마다 다르지만 보통 Researcher, Data Scientist, Applied Scientist 등으로 표현하는 포지션)가 PyTorch 환경에서 모델 학습 및 실험으로 성능을 검증한 후 해당 모델을 배포할 환경에 따라 TFLite, ONNX 등으로 모델 변환을 하는 것이 일반적인데요. 특히 ONNX는 여러 최적화 기법을 공짜 점심으로 변환 시 제공하고 있어서 많이 활용합니다. 다만 우리가 만든 PyTorch 모델의 연산들이 항상 ONNX가 지원하는 Operator라는 보장이 없을 수 있는데요. 우선 ONNX에서 지원하는 Operator 목록은 링크를 통해 확인하실 수 있습니다목록을 한 번 살펴보시면 눈치채셨겠지만, 최..
Stable Diffusion 3 ONNX Export 트러블 슈팅
Stable Diffusion 3 ONNX Export 트러블 슈팅
2024.11.24오늘은 업무 중 발생했던 Stable Diffusion 3 모델의 ONNX Export 과정에서 발생했던 이슈와 해결 방법에 대해서 공유해보려고 합니다. Qualcomm의 하드웨어에 AI/ML 모델을 배포하기 위해서 Qualcomm® Neural Processing SDK를 활용하는데요. 해당 SDK에서 제공하는 도구 중 Converter는 여러 가지 프레임워크 (e.g., ONNX, TensorFlow, ...) 를 지원하지만, 대체로 ONNX를 많이 활용하고 있습니다. 아마도 요즘 대부분의 Researcher들이 익숙한 딥러닝 프레임워크가 PyTorch고 PyTorch에서 ONNX Export는 간편하게 지원하는 것이 첫 번째 이유일 것이라고 짐작하며, 두 번째로는 ONNX를 활용함으로써 얻을 수 있..
전직 미국 대통령으로부터 배우는 Leadership Principles
전직 미국 대통령으로부터 배우는 Leadership Principles
2024.10.272017년부터 소프트웨어 엔지니어로 일을 시작했으니, 벌써 만 7년 이상을 개발자로 밥 벌어 먹고살고 있는 시니어 엔지니어라고 할 수 있겠다. 마음만은 여전히 주니어 엔지니어지만 짧지 않은 시간 동안 일에 대한 요령도 많이 늘었고 체력적으로도 20대와는 달라졌으며 가장 중요한 것은 고용주인 회사가 나에게 기대하는 능력치는 이제 더 이상 하드 스킬, 즉 개발 업무에만 국한되지 않는다는 것이다. 경력이 더해지면서 회사는 피플 매니징이라는 또 다른 업무 능력치를 기대하고 있고, 다행히도 작년부터 조금씩 Entry/Junior 엔지니어에 대해서 피플 매니징을 할 수 있는 기회가 생겼다. 그리고 새로운 회계 연도가 시작되는 11월부터는 공식적으로 작은 규모의 팀을 리딩하고 매니징하는 역할이 부여될 것이라는 얘기를..
글또 10기 시작과 다짐
글또 10기 시작과 다짐
2024.10.139기의 마지막 작성글인 글또 9기 돌아보기 이후로 벌써 시간이 5개월이나 지났다. 패스권을 사용했지만, 그 외에는 빠지는 주차 없이 꾸준히 글을 작성했었고, 그게 습관으로 자리 잡아서 글또 참여와 관계없이 꾸준히 글을 작성할 수 있었으면 좋았겠지만, 출판사에서 제공받은 책의 서평 1개 외에는 한 편의 글도 작성하지 못했다. 굳이 핑계를 대자면 매년 열리는 Snapdragon Summit을 위한 준비가 여름부터 매우 바빠졌다는 점과 그냥 나라는 인간 자체가 제약이 없으면 아주 열심히 살지는 않는 것 같다 (...) 어차피 지나간 것은 지나간 것이고, 다시 10기에 참여하면서 이번에도 욕심내지 않고 우선 참여하는 동안 꾸준히 글을 작성해 보는 것을 목표로 해본다. 10기는 내 기억이 맞다면 5개월을 진행한 ..