코드로 살펴보는 특허 명세서 작성 가이드

안녕하세요, 특허에 관심 있는 여러분! 오늘은 특허 명세서 작성 시 주의해야 할 기재불비에 대해 알아보도록 하겠습니다. 특허 명세서의 발명의 설명 부분은 해당 기술 분야의 통상의 지식을 가진 사람이 쉽게 발명을 실시할 수 있도록 작성되어야 합니다. 만약 이 요건을 충족하지 못한다면, 기재불비로 판단될 수 있습니다. 또한, 특허청구범위에 기재된 용어나 표현이 발명의 설명 부분에서 뒷받침되지 않거나, 그 의미가 불명확한 경우에도 기재불비에 해당됩니다. 예를 들어, 다음과 같은 코드가 특허청구범위에 기재되어 있다고 가정해 보겠습니다.

More

책임 있는 AI 개발

안녕하세요, 여러분. 오늘은 프로덕션 환경에서 책임감 있는 AI를 개발하는 방법에 대해 이야기하려 합니다. AI 시스템을 개발하고 배포할 때, 우리는 다양한 이해관계자들의 관점을 고려해야 합니다. 여기에는 모델 빌더, ML 엔지니어, 비즈니스 의사결정권자, 그리고 ML 시스템의 최종 사용자가 포함됩니다. 책임감 있는 AI를 만들기 위해서는 다음과 같은 원칙을 따라야 합니다: 공정성과 편향성 최소화: AI 모델이 특정 집단에 대해 차별적인 결과를 내지 않도록 주의해야 합니다. 이를 위해 데이터의 편향성을 검토하고, 모델의 공정성을 평가하는 것이 중요합니다.

More

개발자는 학벌보다 실력이다

회사가 원하는 개발자는 단순히 좋은 학교의 컴퓨터 공학과를 졸업한 사람이 아닙니다. 회사에서 진정으로 필요로 하는 것은 일을 잘하는 개발자입니다. 학벌보다 실력이 중요하다는 것은 개발자 업계에서 이미 공공연한 사실입니다. "Action is the foundational key to all success." - Pablo Picasso "행동은 모든 성공의 기초적인 열쇠이다." - 파블로 피카소 피카소의 말처럼, 개발자에게 있어서도 실제로 코드를 작성하고 문제를 해결하는 행동이 성공의 핵심입니다. 아래 코드는 이러한 점을 잘 보여주는 예시입니다. def solve_problem(problem): # Analyze the problem analysis = analyze(problem) # Plan a solution solution = plan(analysis) # Implement the solution result = implement(solution) return result 위 코드에서 볼 수 있듯이, 문제를 분석하고(analyze) 해결책을 계획하며(plan) 이를 실제로 구현하는(implement) 일련의 과정이 개발자의 실력을 나타냅니다.

More

LIMA 논문 리뷰

프로그래머가 바닥에 떨어진 동전을 주웠더니 왜 행복한가요? 그 이유는 그의 “비트"를 찾았기 때문이죠! 프로그래머들은 이진수에서 “0"과 “1"을 “비트"라고 부르는데, 그 비트를 찾았으니 행복한 거죠! 자, 이제 다시 본론으로 돌아가서 앞서 언급한 대형 언어 모델의 내용을 다시 살펴 보겠습니다. 대형 언어 모델은 두 단계로 훈련됩니다. 첫 번째 단계는 비지도 사전 훈련 단계인데, 이때 모델은 원시 텍스트를 사용해 일반적인 언어 이해를 학습합니다. 그래서 대부분의 지식이 여기서 얻어지는거죠. 두 번째 단계는 큰 규모의 지시 튜닝과 강화 학습을 통해 모델을 최종 작업과 사용자 기호에 더 적합하게 조정하는 단계입니다.

More

트랜스포머 모델의 개발

트랜스포머는 Attention 매커니즘이 적용된 멋진 딥러닝 모델이에요. 2017년에 구글이 발표한 “Attention is all you need” 논문에서 처음 소개되었죠. 이 모델은 RNN(1986)과 LSTM(1997) 같은 Recurrent 모델을 대체할 수 있는 대안으로 등장했어요. 트랜스포머는 자연어 처리와 같은 다양한 분야에서 성공을 거두었고, 그 인기는 계속해서 높아지고 있어요. GPT는 Transformer의 디코더 아키텍처를 활용하고 있고, BERT는 Transformer의 인코더 아키텍처를 활용하고 있습니다. 이 모델은 RNN 방식이 아닌 Attention 메커니즘을 더욱 효과적으로 활용하여 입력 시퀀스의 각 요소 간의 관계를 파악하고 중요한 정보에 집중할 수 있게 되었어요.

More

모델 서빙 프레임워크

MLOps에서 모델 서빙 MLOps에서 모델 서빙은 운영 중인 머신 러닝 모델을 사용자와 상호작용할 수 있도록 만들어주는 프로세스입니다. 이는 모델의 성능, 안정성, 신뢰성을 보장하고, 실시간으로 모델을 업데이트하고 모델의 예측 결과를 모니터링할 수 있도록 해줍니다. 서빙은 대체로 세가지 기능을 포함할 수 있어야합니다. 사용자의 상호 작용 기능 : 모델 서빙은 사용자와의 상호작용 기능을 제공합니다. 이를 통해 모델이 실제 환경에서 사용되는 방식을 고려할 수 있습니다. 사용자의 요구사항에 따라 모델을 조정하고, 더 나은 성능을 위해 모델을 개선할 수 있습니다.

More

Voila 소개와 설치

Voila는 Jupyter 노트북에서 생성된 대화형 웹 애플리케이션을 만드는 오픈 소스 도구입니다. Voila를 사용하면 Jupyter 노트북을 실행하면서 생성된 셀의 결과를 대화형 대시보드로 전환할 수 있습니다. Jupyter 노트북은 데이터 분석 및 인공 지능 작업을 위한 인기있는 도구 중 하나입니다. 그러나 노트북의 코드와 결과는 주로 노트북 파일 자체에서만 볼 수 있습니다. 이는 작업을 공유하거나 다른 사람에게 결과를 시각적으로 보여줄 때 제한적일 수 있습니다. Voila는 이러한 제한을 극복하기 위해 개발되었습니다. Jupyter 노트북을 실행하면 대화형 대시보드로 전환되며, 코드와 결과를 다른 사용자와 쉽게 공유할 수 있습니다.

More

Streamlit 소개와 설치

Streamlit 소개 treamlit은 Python으로 데이터 시각화 및 웹 애플리케이션 개발을 간단하게 할 수 있게 해주는 라이브러리입니다. 특히, 데이터 과학자나 머신 러닝 엔지니어들이 머신 러닝 모델의 결과를 쉽게 공유하고 데모를 만들 수 있도록 해줍니다. Streamlit은 다음과 같은 이점을 제공합니다. 간편한 구현: Streamlit은 기본적인 웹 프레임워크와 비교하여 훨씬 적은 코드로 애플리케이션을 구현할 수 있습니다. 반응성: Streamlit은 실시간으로 변경 사항을 업데이트하고, 자동으로 새로고침합니다. 시각화: Streamlit은 matplotlib, bokeh, plotly 등과 같은 인기 있는 시각화 라이브러리와 함께 사용할 수 있습니다.

More

DVC 소개와 설치

데이터 버전 관리 대용량 파일 버저닝을 위한 도구로 git-lfs, LakeFS, DVC, DeltaLake, dolthhub, Pachyderm, Neptune 등이 있습니다. 이중 DVC에 대해 알아 보도록 하겠습니다. DVC 소개 DVC(data version control)는 데이터 과학자들을 위한 멋진 도구랍니다! 데이터와 모델을 버전 관리하는 데 사용됩니다. DVC를 사용하면 Git과 비슷한 방식으로 데이터셋의 버전을 추적하고, 원래대로 되돌리고, 변경사항을 쉽게 복원할 수 있습니다. Git에는 용량 제한이 있지만, DVC CLI를 이용하면 대용량 파일, 데이터셋 디렉토리, 머신러닝 모델 등을 작고 가벼운 메타 파일로 대체하여 데이터 버전 관리를 지원해주어 편리합니다.

More

Airflow 설치

Airflow는 데이터 파이프라인을 관리하고 스케줄링하기 위한 오픈소스 플랫폼입니다. Airflow는 일련의 작업(Task)을 DAG(Directed Acyclic Graph)로 구성하고, 각 작업이 완료될 때까지 기다렸다가 다음 작업을 실행할 수 있도록 설정할 수 있습니다. Airflow의 가장 큰 장점 중 하나는 유연성입니다. 사용자는 Python으로 작성된 코드를 이용해 다양한 작업(Task)을 정의할 수 있습니다. 또한 Airflow는 다양한 플러그인을 지원하며, 다양한 데이터 소스와 연동이 가능합니다. Airflow는 초보 사용자들도 쉽게 사용할 수 있도록 웹 인터페이스를 제공합니다. 이를 통해 DAG를 만들고, 실행 및 모니터링할 수 있습니다.

More