اگر زیستشناس هستید، اکنون میتوانید با مدل متنباز Carbon-X با DNA حرف بزنید + کد اجرای لوکال پایتون
این مدل متنباز جدید، زبان DNA را درک میکند و میتواند به پژوهشگران کمک کند تا تأثیر هرگونه تغییر در DNA را بر فعالیت ژنها و سلامت انسان بررسی کنند. Hugging Face اخیراً مدل متنباز جدیدی به نام Carbon-X را برای درک DNA منتشر کرده که قابلیت اجرا بهصورت لوکال…
خلاصه تحلیلی خبر
این مدل متنباز جدید، زبان DNA را درک میکند و میتواند به پژوهشگران کمک کند تا تأثیر هرگونه تغییر در DNA را بر فعالیت ژنها و سلامت انسان بررسی کنند. Hugging Face اخیراً مدل متنباز جدیدی به نام Carbon-X را برای درک DNA منتشر کرده که قابلیت اجرا بهصورت لوکال…
موضوعات اصلی: پشتیبانی شبکه، هوش مصنوعی، DNA، Carbon-X، مدل، کنند
این مدل متنباز جدید، زبان DNA را درک میکند و میتواند به پژوهشگران کمک کند تا تأثیر هرگونه تغییر در DNA را بر فعالیت ژنها و سلامت انسان بررسی کنند.
Hugging Face اخیراً مدل متنباز جدیدی به نام Carbon-X را برای درک DNA منتشر کرده که قابلیت اجرا بهصورت لوکال بر روی لپتاپ را نیز دارد.
حرفزدن با DNA
این مدل با همکاری پژوهشگران آکادمی ژونگگوانتسون (Zhongguancun Academy) چین و دانشگاه فدریکوی دوم ناپل (University of Naples Federico II) ایتالیا توسعه یافته و با استفاده از توالیهای ژنومی و زبان طبیعی آموزش دیده است. بهاینترتیب، کاربران میتوانند درباره تأثیر تغییرات DNA بر فعالیت ژنها و سلامت انسان سؤال کنند و پاسخهای خود را در قالب گفتوگو دریافت کنند. «لوئیس تانستال» (Lewis Tunstall)، پژوهشگر ارشد هاگینگ فیس، میگوید این ابزار با هدف کمک به پژوهشگران در طراحی داروهای جدید و درمانهای ژنتیکی توسعه یافته است.
او درباره این مدل جدید که Carbon-X نام دارد، میگوید: «ما قابلیت جدیدی را در مدلهای زبانی فراهم کردهایم که اساساً به معنای امکان گفتوگو با DNA است.» به گفته او، استفاده از زبان طبیعی به این معناست که حتی کاربران فاقد دانش فنی نیز «میتوانند درباره DNA پرسشهایی مطرح کنند که پاسخ به آنها از طریق هیچ ابزار دیگری در دسترس نبوده است.»
Hugging Face که اساساً بهعنوان گیتهاب مدلهای هوش مصنوعی شناخته میشود، کتابخانهای از ابزارهای آماده هوش مصنوعی و پلتفرمی برای اجرای برنامههای هوش مصنوعی، عمدتاً وزنباز (Open-weight) و متنباز (Open-source)، ارائه میدهد. این خدمات برای توسعهدهندگان، پژوهشگران، کسبوکارها و افرادی طراحی شدهاند که میخواهند بدون نیاز به ساخت همه ابزارها از ابتدا، هوش مصنوعی را آزمایش کنند.
ساختار DNA بیش از آنکه به زبان طبیعی شباهت داشته باشد، به کدهای رایانهای شبیه است. با این تفاوت که بهجای صفر و یک، از چهار حرف A، C، G و T برای رمزگذاری اطلاعات استفاده میکند. ژنوم انسان حاوی ۶ میلیارد مورد از این حروف است. اگرچه توالییابی ژنوم انسان از ابتدا تا انتها انجام شده است، دانشمندان هنوز نمیدانند بخش عمده آن چگونه عمل میکند.
مدلهای DNA
اکنون مدلهای هوش مصنوعی به پژوهشگران کمک میکنند تا برخی از این معماها را رمزگشایی کنند. سال گذشته، گوگل دیپمایند مدلAlphaGenomeرا منتشر کرد که تأثیر توالیهای DNA و جهشهای ژنتیکی را پیشبینی میکند، اما نتایج را در قالب عددی ارائه میدهد. این مدل همچنین به توان محاسباتی بیشتری نیاز دارد. مدل Evo 2 نیز که مؤسسه Arc و انویدیا با همکاری شرکای دانشگاهی توسعه دادهاند، زبان DNA را درک میکند و میتواند ژنومهای کامل را از ابتدا تولید کند.
مدل Carbon-X با ترکیب DNA و زبان طبیعی در یک رابط گفتوگومحور، این دو قابلیت را یکپارچه میکند. میتوان آن را نوعی ChatGPT برای DNA در نظر گرفت.
روند توسعه Carbon-X
تیم توسعه ابتدا کار خود را با یک مدل زبانی موجود آغاز کرد و سپس دامنه واژگان آن را گسترش داد تا بتواند DNA را در گروههای ششحرفی بخواند. در ادامه، آموزش مدل را با استفاده از ۳۰۰ میلیارد واحد داده یا توکن ادامه دادند. این دادهها ترکیبی از توالیهای DNA، متون انگلیسی و نمونههایی بودند که میان DNA و توصیفهای زیستی ارتباط برقرار میکردند.
توالیهای DNA مورداستفاده از پستانداران از جمله انسان، سایر مهرهداران، بیمهرگان، گیاهان، قارچها و تکیاختگان بهدستآمده بودند. تانستال میگوید تیم توسعه عمداً از آموزش مدل با دادههای مربوط به ویروسها خودداری کرده است؛ زیرا نمیخواسته این مدل برای کاربردهای بالقوه خطرناک مورداستفاده قرار گیرد. اما کاربران نمیتوانند ژنوم کامل انسان را در این مدل بارگذاری کنند. Carbon-X برای پردازش توالیهای DNA با طول تقریبی ۵۰ هزار جفتباز (Base Pair) آموزش دیده است؛ بنابراین کاربران در هر نوبت تنها میتوانند درباره بخشهای کوچکی از ژنوم پرسش مطرح کنند.
چرا با DAN حرف بزنیم
یکی از کاربردهای احتمالی Carbon-X برای دانشمندان، کمک به تشخیص این موضوع است که آیا یک جهش ژنتیکی بیضرر است یا میتواند موجب بروز بیماری شود. این تشخیص، مرحلهای کلیدی در توسعه داروهای هدفمند یا درمانهای ژنتیکی محسوب میشود. اگر یک مداخله درمانی جهش اشتباهی را هدف قرار دهد، ممکن است کاملاً بیاثر باشد یا حتی بدتر از آن، آسیبهای ناخواستهای ایجاد کند.
پژوهشگران برای بارگذاری دادههای حساس بیماران یا اطلاعاتی که امکان شناسایی هویت آنها را فراهم میکند، در مدلهای پیشرفته هوش مصنوعی با محدودیتهایی مواجه هستند. به همین دلیل، تانستال میگوید تیم او عمداً مدلی نسبتاً کوچک با ۱۴ میلیارد پارامتر طراحی کرده است.
این ویژگی به مدل اجازه میدهد بهجای اتکا به مدلهای مبتنی بر فضای ابری، بهصورت لوکال روی سختافزار خود کاربر اجرا شود. به گفته تانستال، هیچ دادهای به Hugging Face یا هیچ شرکت دیگری ارسال نمیشود. بااینحال، توسعهدهندگان Carbon-X هشدار میدهند که هنوز این مدل را از طریق آزمایشهای واقعی در محیط آزمایشگاهی (Wet Lab) اعتبارسنجی نکردهاند؛ بنابراین در حال حاضر نمیتوانند درباره میزان دقت پیشبینیهای آن اظهارنظر کنند.
کد اجرای لوکال پایتون
How to use Carbon-X
pip install -U transformers import torch from transformers import AutoModelForCausalLM, AutoTokenizer model_id = "HuggingFaceBio/Carbon-X" tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained(model_id, dtype=torch.bfloat16, device_map="cuda") messages = [ { "role": "user", "content": ( "Reference: ATGGTGCATCTGACTCCTGAGGAGAAGTCTGCCGTTACTGCCCTGTGGGGCAAGG\n" "Variant: ATGGTGCATCTGACTCCTGTGGAGAAGTCTGCCGTTACTGCCCTGTGGGGCAAGG\n\n" "Is this variant likely to be benign or pathogenic? Explain your reasoning." ), } ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, enable_thinking=False, return_tensors="pt", return_dict=True, ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=1024) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))Serving with vLLM
pip install -U vllm vllm serve HuggingFaceBio/Carbon-X --trust-remote-code from openai import OpenAI client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY") response = client.chat.completions.create( model="HuggingFaceBio/Carbon-X", messages=[{"role": "user", "content": "What does this sequence encode?\n\nATGGTGCATCTGACTCCTGAGGAGAAGTCTGCCGTT"}], extra_body={"chat_template_kwargs": {"enable_thinking": False}}, ) print(response.choices[0].message.content)Tokenizer: working with DNA inputs
ids = tokenizer("Describe this sequence: ACGTACGATTCA")["input_ids"] tokenizer.convert_ids_to_tokens(ids)Carbon-X as a tool for an agent
from openai import OpenAI carbon = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY") def ask_carbon(question: str, sequences: dict[str, str], context: str = "") -> str: """Ask Carbon-X a question about one or more named DNA sequences.""" parts = [context, question] if context else [question] parts += [f"{name}: {seq} " for name, seq in sequences.items()] response = carbon.chat.completions.create( model="HuggingFaceBio/Carbon-X", messages=[{"role": "user", "content": "\n\n".join(parts)}], max_tokens=4096, extra_body={"chat_template_kwargs": {"enable_thinking": False}}, ) return response.choices[0].message.content vllm serve HuggingFaceBio/Carbon-X --trust-remote-code # one 80 GB GPU hf download HuggingFaceBio/Carbon-X --include "skills/*" --local-dir carbon-x cp -r carbon-x/skills/carbon-dna ~/.claude/skills/ # Codex CLI: ~/.codex/skills/ export CARBON_BASE_URL=http://localhost:8000/v1 # or the address of your vLLM serverبرای ارزیابی پایداری، امنیت و نگهداری این زیرساخت، راهنمای پشتیبانی شبکه را نیز مطالعه کنید.