강성준
강성준
🎻 루키 파트너
🌈 지피터스금손

허깅페이스🤗에서 질병진단보조 Space🚀 직접 만들어보기

#9기 #9기HuggingFace

이전포스트 :#의료바이오 허깅페이스🤗 탐방하기

🤗🤗🤗안녕하십니까!

좋은 명절 보내셨는지요. 오늘은 지난주에 탐방한데 이어,

모방은 창조의 어머니라는 금언에 따라 직접 Space🚀를 만들어보았습니다.

제가 이번에 따라해보고자 했던 space는 “Medical Diagnosis”라는 공개된 space였습니다.

segadeds/Medical_Diagnosis 에게 먼저 학습할 기회를 주었음에 감사드립니다.

Space🚀구조 파악

Medical Diagnosis - a Hugging Face Space by segadeds

일단 스페이스의 구조와 gradio의 작동 원리 파악을 먼저 수행하였습니다.

Space에서 File을 들어가니 아래와 같은 4개의 파일이 존재했습니다.

위에서부터

1. README.md

2. app.py

3. model.pkl

4. requirements.txt

이고

  1. Readme 마크다운파일이며 여기에는 스페이스의 이름, 이모지, 컬러, sdk(software development kits) - Gradio나 Streamlit 사용가능, 라이센스 정보 등 기본적인 metadata 정보가 입력되어 있습니다.

  1. app구동과 관련된 python파일이며,코드는 아래와 같습니다.

from fastai.text.all import *
import gradio as gr


learn = load_learner('model.pkl')


description = "Medical Diagnosis"
categories = (['Allergy', 'Anemia', 'Bronchitis', 'Diabetes', 'Diarrhea', 'Fatigue', 'Flu', 'Malaria', 'Stress'])



def classify_text(txt):
    pred,idx,probs = learn.predict(txt)
    return dict(zip(categories, map(float,probs)))



text = gr.inputs.Textbox(lines=2, label='Describe how you feel in great detail')
label = gr.outputs.Label()
examples = ['I have no intrest in physical activity. i am always thirsty', 'I am freezing', 'My eyes are pale']

intf = gr.Interface(fn=classify_text, inputs=text, outputs=label, examples=examples, description=description)
intf.launch(inline=False)

바로 챗지피티로 세부적인 내용을 분석하였습니다.

FastAI라는 라이브러리와 Gradio가 중요하고, 저기 중간에 Model.pkl라는 파일이 핵심임을 알았습니다. 그 외에는 Gradio의 인터페이스를 조절하는 코드임을 파악하였습니다.

ChatGPT: FastAI는 딥러닝을 위한 고수준의 API를 제공하는 파이썬 라이브러리로, PyTorch 위에서 구축되었습니다. 이 라이브러리는 사용하기 쉬운 인터페이스를 통해 복잡한 모델을 간단하게 구현할 수 있게 해주며, 다양한 분야에 적용할 수 있습니다. FastAI의 목표는 최신 딥러닝 연구를 실용적인 프로젝트에 쉽게 적용할 수 있도록 하는 것입니다. FastAI는 2016년 Jeremy Howard와 Rachel Thomas에 의해 시작되었으며, 교육 목적과 실제 문제 해결을 위한 도구로 널리 사용됩니다. 사용 방법은 공식 문서와 코스를 통해 배울 수 있으며, 커뮤니티 지원도 활발합니다.

Fastai는 한마디로 엄청 간단하고, 튜토리얼 코드들이 많아서 일반인들도 AI 모델링을 단 몇 시간 안에 할 수 있을 정도로 간편한, PyTorch를 기반으로 한 라이브러리라고 합니다.

설립자인 제레미 하워드가 유튜브에 강연도 올려두고 있고, UCSF에서 진행한 강연도 모두 공개 되어 있는 듯 합니다!

(151) Jeremy Howard - YouTube

Practical Deep Learning for Coders - 4: Natural Language (NLP) (fast.ai)

이 중에서 text와 관련된 모듈을 가져와서 사용하는 것이 이 스페이스의 원리인것으로 파악하였습니다! Fastai 공부도 좀 추가로 해야겠다는 생각이 듭니다. 최근의 LLM보다는 좀 더 전통적인 자연어처리에 가깝다고 느껴졌습니다.

  1. Model.pkl 은 Fastai, PyTorch로 만들어진 모델 파일로 보입니다.(내부 커스터마이징은 하지 못하고 그대로 사용하였습니다.

  1. requirements.txt 은 필요한 라이브러리가 적힌 텍스트 파일이고, 이 경우는 fastai와 gradio가 필수요소로 들어가 있음을 확인할수 있었습니다.

자연스럽게 저의 다음 목표는 FAST AI가 아니라 좀 더 최신의 LLM, LLaMa나 GPT를 이용해서 더 정확한 모델을 만드는 방법은 없을지 공부해보고자 합니다!

이어서 제가 개조한 모델 시연을 보여드리도록 하겠습니다.

AI-Cortex (Seong-Jun Kang) (huggingface.co) 프로필 주소입니다.

MedMax(메드맥스) - GPTers Medical Advisor - a Hugging Face Space by AI-Cortex

스페이스 주소입니다. 이름은 제가 영화 매드맥스를 감명깊게 봐서 MedMax로 지어본았습니다.

스페이스가 빌드 되고 있는 모습입니다.

위와 같이 결과를 “독감”, “알러지”, ”당뇨”와 같이 한글로 진단명을 제시해주도록 커스터마이징 하였습니다.

다음 목표는,

  1. 질문도 한글로 할 수 있게 Model 커스터마이징 해보기

  2. Fastai 대신 LLM model 써보기 입니다.

아래는 젠슨황 인터뷰하나 가져와봤습니다.

AI를 이용한 의료 및 바이오 연구, 젠슨황 형님이 팍팍 밀어준다네요.😍

엔비디아의 BioNemo, Monai 뿐 아니라, 접근성 높고 기능도 뒤지지 않는 툴들이 계속해서 나올듯하고 그걸 허깅페이스를 통해 직접 경험해볼수 있는 기회가 이번 부트캠프에서 얻은 저의 가장 큰 수확이 아닌가 합니다!🙌

4
1개의 답글

👉 이 게시글도 읽어보세요