2023/12/20

☕ Nhàn đàm ICT: Text-to-Music 🗎 → ♫

Phác họa bài post:

. Đề dẫn

. Jukebox (OpenAI)

. MuLan (Google)

. MusicLM (Google)

. Stable Audio (Stability.AI)

. Suy ngẫm chậm

~

Trước hết, xin có lời chúc mừng sinh nhật diễn đàn ICT-VN (20 tuổi: 23/12/2003 – 23/12/2023).


-

Để giúp anh/chị quyết định có đọc tiếp hay không, tôi xin phép cung cấp các thông tin liên quan đến bài post này như sau:

·       Chủ đề: Machine Learning

·       Tính thời sự: Tháng 9/2023

·       Thời gian đọc: 10 phút, lồng vào thời gian uống cà phê (uống cà phê xong là đọc xong)

-

. Đề dẫn

Tôi tin là nhiều anh/chị trên diễn đàn này rất thạo trong việc tạo ảnh từ văn bản (Text-to-Image) thông qua các mô hình như DALL·E, DreamStudio, Adobe Firefly, … Lần này tôi xin phép đàm luận cùng anh/chị về Text-to-Music. Nghĩa là khi chúng ta đưa vào một đoạn văn bản thì mô hình sẽ cho ta một đoạn âm nhạc. Sáng tác nhạc theo cách này thì tôi nghĩ không thể nào đơn giản hơn được nữa. Tất nhiên, đó là tôi nói một cách “đại thể” thế chứ còn trở thành nhạc sỹ chỉ sau khi gõ một đoạn văn bản thì e là hơi quá 😊.


Cái mà chúng ta tò mò chính là nguyên lý, kiến trúc, cách tiếp cận, cách huấn luyện và tập dữ liệu của mô hình đứng đằng sau.

-

Toàn bộ bài post này tôi lấy thông tin chủ yếu từ các tham chiếu: Jukebox, MuLan,  MusicLM, Stable Audio.

-

. Jukebox (OpenAI – 2020.04.30)

Xin phép anh/chị được bắt đầu bằng mô hình Jukebox của OpenAI (đăng ngày 30/04/2020). Jukebox dịch ra tiếng Việt có nghĩa là “máy hát tự động”. Hẳn nhiên, Jukebox không phải là mô hình đầu tiên về Text-to-Music. Cái mà tôi ấn tượng là Motivation của họ: người ta đặt vấn đề là khi đưa vào một yêu cầu (Prompt) thì máy sẽ “hát” theo yêu cầu. Một cách đặt vấn đề đơn giản mà tự nhiên!

-

Một cách tổng quan, Jukebox huấn luyện mô hình bằng cách nén dữ liệu đầu vào rồi giải nén bằng Autoencoder cho dữ liệu đầu ra (xem lược đồ của Autoencoder dưới đây). Vì đầu ra giải nén (X’) chính là khôi phục lại dữ liệu đầu vào (X) nên cách huấn luyện này không cần dán nhãn dữ liệu (huấn luyện không giám sát).

Lược đồ của một Autoencoder cơ bản.

Nguồn.

-

Chúng ta hình dung là sau khi huấn luyện, Jukebox sẽ “hiểu” toàn bộ các bản nhạc (dữ liệu huấn luyện). Sau đó, nếu chúng ta đưa vào yêu cầu (Prompt) thì Jukebox sẽ biết cách “phát ra” đoạn nhạc đáp ứng yêu cầu đó.

-

Dữ liệu huấn luyện

Đầu tiên người ta thu thập bản thu thanh từ các bài hát trên Internet, với số lượng khoảng 1,2 triệu bài – một nửa trong số đó là bài hát bằng tiếng Anh.

Sau đó người ta ghép từng bản thu thanh với lời bài hát + metadata:

[Bản thu thanh, Lời bài hát, Metadata]

Metadata:

[Tên nghệ sỹ, Dòng nhạc, Năm bài hát, Moods (tâm nhạc), Từ khóa]

Các dòng nhạc chính:

Reggae, Country (nhạc đồng quê), Soundtrack (nhạc phim), R&B (Rhythm and blues), Hip Hop, Rock, Pop, Classical (nhạc cổ điển), Jazz, Blues, Soul.

-

Prompt

Jukebox chỉ chấp nhận Prompt ở mức rất đơn giản: chọn dòng nhạc (genre), nghệ sỹ / ca sỹ và một đoạn lời bài hát (lyrics).

Nhóm nghiên cứu chỉ cung cấp cho cộng đồng các mẫu (samples) chứ chưa có giao diện cho phép người dùng tương tác với mô hình.

-

. MuLan (Google – 2022.08.26)

Hẳn anh/chị còn nhớ ý tưởng bài báo nổi tiếng CLIP (Contrastive Language–Image Pre-training): kết nối “văn bản” – “ảnh”. Người ta thu thập 400 triệu cặp ghép (ảnh, văn bản) trên Internet, sau đó đo độ tương tự (similarity) của cặp ghép bất kỳ “ảnh” – “đoạn văn bản”. Người ta áp dụng ý tưởng này trong DALL·E 2: cho một đoạn văn bản đầu vào, DALL·E 2 có thể vẽ theo nội dung ngữ nghĩa của văn bản đó. Nghĩa là “văn bản” → “ảnh”.

Mô hình MuLan (đăng ngày 26-08-2022) tiếp cận theo cách tương tự: người ta thu thập và lọc ra khoảng 44 triệu bản ghi dưới dạng (“âm thanh”, “văn bản”) dùng để huấn luyện mô hình. “Âm thanh” là đoạn video clip dài 30 giây và “văn bản” là lời bài hát trong đoạn video clip 30 giây đó. Nói một cách khác, đoạn “văn bản” là mô tả bằng lời đoạn “âm thanh” tương ứng. Người ta tính ra tổng thời lượng âm thanh dùng để huấn luyện là 44 triệu x 30 giây ≈ 370k giờ.

Trong hình vẽ dưới đây, người ta mã hóa âm thanh (audio) bằng một mạng nơ-ron (neural network) ký hiệu là f, mã hóa văn bản (text) bằng một mạng nơ-ron khác ký hiệu là g trước khi áp dụng phương pháp huấn luyện Contrastive Representation Learning. Trong bài báo, họ gọi kiến trúc này là tòa tháp đôi (two-tower architecture).


Sơ đồ huấn luyện mô hình MuLan (Nguồn).

-

Sau khi huấn luyện xong, người ta có thể truy vấn mô hình bằng một đoạn văn bản và kết quả … chỉ là một đoạn video clip dài 30s! Có thể anh/chị cảm thấy hơi thất vọng vì đoạn video clip 30s chưa phải là một bản nhạc hoàn chỉnh. Chú ý rằng, cùng một cách tiếp cận trong trường hợp mô hình CLIP: từ một đoạn văn bản mô hình tạo ra một ảnh “hoàn chỉnh”. Tất nhiên đã là ảnh thì ảnh nào cũng “hoàn chỉnh” nhưng âm nhạc thì lại khác, một đoạn âm nhạc dài 30s thường chỉ là một trích đoạn thôi.

Đây là vấn đề rất thách thức đối với tất cả các mô hình Text-to-Music (không riêng gì đối với mô hình MuLan). Cùng một “đoạn văn bản” có rất nhiều cách để “suy ra” một đoạn nhạc: dòng nhạc nào (Reggae, Country, R&B, …), nhạc cụ chính để chơi trong đoạn nhạc đó là gì (piano, guitar, …), giai điệu tiết tấu (melody) thế nào, tâm trạng ra sao (mood: buồn, vui, …).

Còn một vấn đề nữa trong âm nhạc, đó là tính nhất quán (consistency). Tính nhất quán trong âm nhạc là nói đến tính đều đặn và đồng nhất của một số yếu tố nhất định, chẳng hạn như nhịp độ, phím nhạc (keynote), giai điệu (melody), nhịp điệu (rhythm)… Khi tạo ra một bản nhạc thì rất khó chấp nhận việc đoạn đầu có một giai điệu khác hoàn toàn với giai điệu của đoạn cuối.

Như vậy, nếu đầu vào chỉ đơn thuần “lời bài hát” thì mô hình khó có thể cho đầu ra là một bản nhạc hoàn chỉnh đúng với “’hàm ý” của văn bản. Từ đây, người ta nhận thấy rằng Prompt không thể đơn thuần chỉ là “lời bài hát”, mà Prompt cần có thêm “chỉ định” các yếu tố khác như nhịp độ, giai điệu, nhịp điệu, mood, … để mô hình “tạo sinh” (generate) ra bản nhạc.

-

. MusicLM (Google – 2023.01.26).

Ngày 26/01/2023 một nhóm nghiên cứu ở Google đăng bài “MusicLM: Generating Music From Text” (MusicLM: Tạo nhạc từ văn bản). Đọc tiêu đề chúng ta hiểu rõ mục tiêu của mô hình – mục tiêu này giống với mục tiêu của mô hình MuLan. Vậy MusicLM hơn MuLan ở những điểm nào? Căn cứ theo bài báo, mô hình MusicLM có các đóng góp sau đây cho cộng đồng nghiên cứu:

1.     MusicLM có thể tạo sinh ra đoạn nhạc chất lượng cao ở tần số 24 kHz, có thời lượng lên đến 5 phút (để so sánh: các bài hát thông thường có thời lượng 4-5 phút, đĩa nhạc CD có tần số chuẩn là 44.1 kHz/16 bit, âm thanh với độ phân giải cao có tần số 96 kHz/24 bit hoặc 192 kHz/24 bit)

2.     Văn bản của Prompt có thể chỉ định đặc tả một số yếu tố liên quan đến âm nhạc (nhịp độ, giai điệu, nhịp điệu, mood, …).

3.     Cung cấp cho cộng đồng thư viện MusicCaps gồm 5,500 cặp (nhạc, lời) do các nhạc sỹ hàng đầu biên soạn. MusicCaps có thể dùng làm “chuẩn” để đánh giá chất lượng đầu ra của các mô hình tạo sinh âm nhạc.

-

Mô hình hoạt động như thế nào? Khá rắc rối 😊. Nếu anh/chị quan tâm đến chi tiết thì có thể tham khảo các sơ đồ tiền huấn luyện (Pre-training) và sơ đồ tổng thể phía dưới đây.

Huấn luyện

·       Từ audio clip đầu vào, người ta dùng mô hình MuLan để tạo ra 12 đoạn mã trộn cặp (“âm thanh” – “văn bản”). “Âm thanh” là phần nhạc của video clip, “văn bản” là phần mô tả đoạn video clip đó. Đoạn mã được tạo ra có tên là audio-text token. Tức là 12 đoạn mã này “đo” mối tương quan giữa “nhạc” và “văn bản”.

·       Cùng một video clip đầu vào như trên, người ta cho chạy qua mạng w2v-BERT để tạo ra 25 semantic token (đoạn mã ngữ nghĩa). Ngữ nghĩa (semantic) trong trường hợp này là ngữ nghĩa trong âm nhạc: dòng nhạc, giai điệu, tâm trạng (mood), … Tức là 25 đoạn mã này “tạo” kết cấu đoạn nhạc.

·       Lại cùng một đoạn video clip như trên người ta cho chạy qua mô hình SoundStream để tạo ra 600 acoustic token (đoạn mã đặc tính âm thanh – mã âm học). Ví dụ về đặc tính âm thanh: nhịp độ (tempo), âm điệu (rhythm), âm sắc (timbre). Tức là người ta tạo ra kết cấu chi tiết hơn của đoạn nhạc.

·       Từ audio-text token (âm thanh – văn bản) mô hình tạo ra semantic token (đoạn mã ngữ nghĩa âm nhạc).

·       Từ audio-text token (âm thanh – văn bản) và semantic token (đoạn mã ngữ nghĩa âm nhạc) mô hình tạo ra acoustic token (đoạn mã đặc tính âm thanh).

-

Tạo nhạc

·       Khi đưa đầu vào bằng một đoạn văn bản (văn bản mô tả đoạn âm nhạc cần tạo) mô hình MuLan tạo ra các đoạn mã ghép đôi (“âm thanh”, “văn bản”) (audio-text tokens).

·       Sau đó các audio-text tokens này sẽ đi qua một loạt các mô hình Transformer nối tiếp nhau.

·       Từ đó, mô hình SoundStream sẽ giải mã và tạo sinh (generate) ra đoạn clip âm nhạc.

-


Sơ đồ bước tiền huấn luyện mô hình MusicLM: huấn luyện 3 mô hình một cách độc lập với nhau.

(Nguồn)

-


Sơ đồ tổng thể về cách tiếp cận của mô hình MusicLM.

Trái: Sơ đồ huấn luyện. Phải: Sơ đồ suy diễn đầu ra

(Nguồn)

-

Trải nghiệm

Nhóm nghiên cứu cho chúng ta nghe các đoạn nhạc mẫu được tạo ra tương ứng với từng Prompt (bằng tiếng Anh). Đây là các đoạn nhạc nhóm nghiên cứu tạo sẵn, chưa phải là tương tác giữa người dùng và mô hình.

-

. Stable Audio (Stability.AI – 2023.09.13)

 


Sơ đồ hoạt động của mô hình Stable Audio.

(Nguồn)

-

Ngày 13/09/2023 Stability.AI trình làng mô hình tạo nhạc từ văn bản lấy tên là Stable Audio. Chắc nhiều anh/chị biết Stability.AI có “sở trường” tạo các mô hình tạo sinh (generative) từ Diffusion Model. Lần này cũng vậy, Stable Audio dựa trên mô hình Diffusion. Nguyên lý hoạt động của mô hình như sau.

Huấn luyện

·       Đầu tiên, người ta tiền huấn luyện (Pre-training) mô hình CLAP (Contrastive Language-Audio Pretraining). Mô hình CLAP làm việc gì? Một cách tổng thể: CLAP ghép cặp thông tin (“Văn bản”, “Nhạc không lời”). “Văn bản” chính là Prompt - mô tả các “đặc tính” của đoạn nhạc đầu ra. Tập dữ liệu mà họ huấn luyện gồm 800,000 file audio (họ hợp tác với AudioSparx) – tương đương với thời lượng 19,500 giờ. Ngoài phần nhạc, các file này còn có cả metadata về văn bản tương ứng với đoạn nhạc. Chúng ta hình dung rằng sau khi huấn luyện, nếu chúng ta áp đầu vào là một đoạn văn bản thì CLAP sẽ cho ra một đoạn nhạc gần sát nhất với đoạn văn bản đó (tức là đoạn nhạc có mức độ similarity lớn nhất so với tất cả các đoạn nhạc khác).

·       Khi huấn luyện mô hình Stable Audio, người ta cố định (frozen) các trọng số (weights) của mô hình CLAP. Trong sơ đồ tổng thể chúng ta thấy Prompt được đưa vào bộ mã hóa có tên là CLAP Text Encoder, đầu ra là Prompt Features. Vậy Prompt Features chứa thông tin gì? Prompt Features chứa thông tin về mối tương quan giữa “văn bản” và “âm thanh”. Chú ý rằng Prompt Features chỉ chứa thông tin về mối tương quan chứ không phải là âm thanh.

·       Có 2 đầu vào nữa được đặt tên là Seconds StartSeconds Total. Ví dụ, một đoạn clip có thời lượng là 80 giây thì Seconds Total = 80. Nếu người ta chỉ lấy đoạn âm nhạc từ giây thứ 14 trở đi thì Seconds Start = 14. Hai tham số đầu vào này được mã hóa thành một đoạn mã được đặt tên là Timing. Cặp (Prompt Feature, Timing) lập thành một đầu vào của mô hình có tên gọi Diffusion U-Net (xem sơ đồ ở trên).

·       Mô hình Diffusion U-Net có 2 đầu vào là Audio và cặp (Prompt Feature, Timing), đầu ra là Latents. Người ta thêm nhiễu (Noise) vào Audio. Nguyên lý của Diffusion U-Net là khử nhiễu đầu vào của Audio theo điều hướng của cặp thông tin (Prompt Feature, Timing). (Về nguyên lý của Diffusion Model xem tham khảo Diffusion Model.) Chúng ta có thể hiểu một cách nôm na rằng đầu ra Latents của Diffusion U-Net là dạng dữ liệu đã được nén.

·       Latents lại là đầu vào của VAE Decoder. VAE là viết tắt của Variational Autoencoder (bộ mã hóa tự động biến thiên – tham khảo Variational Autoencoder). Chú ý rằng VAE Decoder chỉ là bộ giải mã. Chúng ta có thể hiểu rằng Diffusion U-Net mã hóa còn VAE Decoder giải mã. Đầu ra của VAE Decoder có tên là Generated Audio: là phần âm nhạc được mô hình tạo sinh.

Tạo nhạc

·       Người dùng đưa vào 2 tham số: Promptthời lượng (đo bằng giây). Mô hình sẽ tạo ra đoạn nhạc theo chuẩn chất lượng đĩa CD: (16-bit, 44.1kHz, stereo).

-

Trải nghiệm

Ưu điểm nổi bật của Stable Audio là cho phép chúng ta tương tác trực tiếp với mô hình. Anh/chị vào trang https://stableaudio.com/ rồi bấm “Try it out”. Mô hình yêu cầu anh/chị phải đăng ký bằng một địa chỉ email.

Tôi xin phép liệt kê ra ở đây một số trải nghiệm của mình, anh/chị có thể tham khảo, thử nghe xem các đoạn nhạc mà mô hình tạo ra có “nghe được” không. Mỗi đoạn nhạc có thời lượng là 45 giây.

·       Nhạc thiền êm dịu để nghe trong phòng học 


·       Nhạc thiền tĩnh lặng để nghe khi lang thang ở Tây Nguyên 


·       Nhạc dân gian Hò khoan Lệ Thủy – Quảng Bình 


·       Nhạc dân gian Huế 


-

. Suy ngẫm chậm

Có thể nói rằng các mô hình Text-to-Mussic chỉ mới ở giai đoạn đầu, mức sơ khởi. Một số vấn đề vẫn chưa định hình. Đơn cử như cách “sáng tác” bản nhạc và làm thế nào để đánh giá chất lượng bản nhạc do mô hình tạo ra.

·       Cách sáng tác bản nhạc hay nói cách khác là kỹ thuật thiết kế Prompt (Prompt Engineering). Vấn đề này các nhóm nghiên cứu vẫn chưa thống nhất cấu phần hợp thành một Prompt. Stable Audio có User Guide, trong đó có phần hướng dẫn cách thiết lập Prompt, có thể coi như Prompt Engineering. Tuy nhiên, Stable Audio chỉ “sáng tác” nhạc, không có lời.

·       Việc đánh giá chất lượng bản nhạc do mô hình tạo ra là một thách thức rất lớn. Chúng ta biết rằng LLM có “vô số” các Benchmark (chuẩn đánh giá) từ dễ đến khó, đến “siêu khó”. Tuy nhiên, đối với Text-to-Music, tôi chỉ mới biết đến nhóm nghiên cứu MusicLM có thư viện MusicCaps gồm 5,500 cặp (nhạc, lời) do các nhạc sỹ hàng đầu biên soạn, có thể tạm coi như một Benchmark. Nhưng Benchmark này lại không áp dụng được để do chất lượng đầu ra của các mô hình khác, ví dụ như Stable Audio (đầu ra của Stable Audio chỉ có nhạc, không lời).

Đấy là bàn sâu hơn cho hết nhẽ vậy thôi chứ trong thế giới thực vào thời điểm hiện nay, với chỉ dăm ba cái click chuột cộng với gõ một đoạn văn bản ngắn mà chúng ta đã “sáng tác” ra được cả một bản nhạc thì đó cũng là “đỉnh” của Machine Learning rồi, đúng không anh/chị?

-

Cuối cùng, tôi trân trọng gửi đến diễn đàn lời chúc:

Giáng sinh An lành!

Merry Christmas!

-

Đính kèm là bức ảnh tôi nhờ phần mềm Fotor vẽ nội ảnh (inpainting), coi như một tấm thiệp Giáng sinh thân gửi đến anh/chị trên diễn đàn, và thông qua anh/chị xin gửi đến đến gia đình, người thân và bạn hữu gần xa.



Credit: Fotor.

-

. Phụ lục

Đối với anh/chị tò mò sâu về kỹ thuật: khác với LLM (Large Language Model), các mô hình Text-to-Music gần đây thường sử dụng phương pháp tạo sinh (Generative) từ Variational AutoencoderDiffusion Model.

 

2023/10/29

☕ Nhàn đàm ICT: mRNA Vaccines 🧬

Phác họa bài post:

. Đề dẫn.

. Vắc-xin?

. Sự sống được “số hóa” như thế nào?

. Đột phá của nguyên lý mRNA vắc-xin.

. Suy ngẫm chậm.

~

Để giúp anh/chị quyết định có đọc tiếp hay không, tôi xin phép cung cấp các thông tin liên quan đến bài post này như sau:

·       Chủ đề: Bioinformatics, DNA

·       Tính thời sự: Tháng 10/2023.

·       Thời gian đọc: 10 phút, lồng vào thời gian uống cà phê (uống cà phê xong là đọc xong).

-

Đề dẫn.

Như chúng ta đã biết, giải Nobel Y Sinh năm nay (2023) đã được trao cho bà Katalin Karikó và ông Drew Weissman (giáo sư tại Đại học Pennsylvania – Hoa Kỳ) vào ngày 2/10/2023. Theo thông cáo báo chí thì lý do họ được giải là, trích nguyên văn “for their discoveries concerning nucleoside base modifications that enabled the development of effective mRNA vắc-xin against COVID-19” – tạm dịch “vì những khám phá của họ liên quan đến việc sửa đổi nucleoside base cho phép phát triển vắc xin mRNA hiệu quả chống lại COVID-19”. (Chú ý: tôi để nguyên “nucleoside base” vì quá khó dịch. Chúng ta hiểu “nucleoside base” tương tự các con số 0 đến con số 9 trong hệ cơ số 10 (hệ thập phân). Các nucleoside có hệ cơ số 4 (hệ tứ phân). Vì vậy, có cả thảy 4 “nucleoside base” khác nhau. Mời anh/chị tham khảo giải thích ở phần tiếp theo của bài post này.) Điểm lý thú trong thông cáo báo chí này là người ta trao giải Nobel vì các nhà khoa học nói trên đã có công sửa đổi “nucleoside base”! Đã được gọi là “base” (nền) rồi mà người ta có thể sửa cái nền đấy. Rất tò mò, đúng không anh/chị?

-

Có thể anh/chị sẽ chất vấn: đây là vấn đề Y Sinh thì liên quan gì đến CNTT? Thưa anh/chị là có liên quan đấy. Sự sống (life) ẩn chứa rất nhiều lập trình, với vô số các “phần mềm” tinh vi và phức tạp hơn chúng tưởng rất nhiều.

-

Toàn bộ bài post này tôi lấy thông tin chủ yếu từ thông cáo báo chíthông tin chuyên sâu về cơ sở khoa học giải thưởng Y Sinh của Hội đồng Nobel.

-

Vắc-xin?

Vì giải thưởng lần này liên quan đến vắc-xin nên tôi xin phép “ôn lại” vài khái niệm liên quan đến vắc-xin. Tôi tóm lược hoặc biên dịch thông tin trên trang who.int của WHO (World Health Organization – Tổ chức Y tế Thế giới).

Mầm bệnh

·       Vi trùng ở xung quanh chúng ta, cả trong môi trường và trong cơ thể chúng ta. Khi một người dễ bị tổn thương và gặp phải một sinh vật gây hại, có thể dẫn đến bệnh tật và tử vong.

·       Cơ thể có nhiều cách để tự bảo vệ mình trước các mầm bệnh (sinh vật gây bệnh). Da, chất nhầy và lông mao (những sợi lông siêu nhỏ có tác dụng di chuyển các mảnh vụn ra khỏi phổi) đều hoạt động như những rào cản vật lý để ngăn chặn mầm bệnh xâm nhập vào cơ thể ngay từ đầu.

·       Khi một mầm bệnh lây nhiễm vào cơ thể, cơ chế phòng vệ của cơ thể chúng ta, được gọi là hệ thống miễn dịch, sẽ được kích hoạt và mầm bệnh sẽ bị tấn công, tiêu diệt hoặc vượt qua.

Phản ứng tự nhiên của cơ thể

·       Mầm bệnh là vi khuẩn, vi rút, ký sinh trùng hoặc nấm có thể gây bệnh trong cơ thể. Mỗi mầm bệnh được tạo thành từ một số tiểu thành phần, thường là duy nhất cho mầm bệnh cụ thể đó và căn bệnh mà nó gây ra. Tiểu thành phần của mầm bệnh gây ra sự hình thành kháng thể (antibody) được gọi là kháng nguyên (antigen). Các kháng thể được tạo ra để đáp ứng với kháng nguyên của mầm bệnh là một phần quan trọng của hệ thống miễn dịch. Bạn có thể coi kháng thể như những người lính trong hệ thống phòng thủ của cơ thể. Mỗi kháng thể hoặc người lính trong hệ thống của chúng ta được huấn luyện để nhận biết một kháng nguyên cụ thể. Chúng ta có hàng ngàn kháng thể khác nhau trong cơ thể. Khi cơ thể con người tiếp xúc với một kháng nguyên lần đầu tiên, hệ thống miễn dịch cần có thời gian để phản ứng và tạo ra các kháng thể đặc hiệu cho kháng nguyên đó.

·       Sau khi các kháng thể đặc hiệu với kháng nguyên được tạo ra, chúng sẽ phối hợp với phần còn lại của hệ thống miễn dịch để tiêu diệt mầm bệnh và ngăn chặn bệnh. Các kháng thể đối với một mầm bệnh thường không bảo vệ chống lại mầm bệnh khác trừ khi hai mầm bệnh rất giống nhau, giống như anh em họ. Khi cơ thể tạo ra kháng thể trong phản ứng ban đầu với kháng nguyên, nó cũng tạo ra các tế bào trí nhớ sản xuất kháng thể, các tế bào này vẫn tồn tại ngay cả sau khi mầm bệnh bị kháng thể đánh bại. Nếu cơ thể tiếp xúc với cùng một mầm bệnh nhiều lần, phản ứng kháng thể sẽ nhanh hơn và hiệu quả hơn nhiều so với lần đầu tiên vì các tế bào trí nhớ sẵn sàng bơm ra kháng thể chống lại kháng nguyên đó.

·       Điều này có nghĩa là nếu một người tiếp xúc với mầm bệnh nguy hiểm trong tương lai, hệ thống miễn dịch của họ sẽ có thể phản ứng ngay lập tức, bảo vệ khỏi bệnh tật.

Vắc-xin giúp ích như thế nào?

Vắc xin là cơ chế tạo ra kháng nguyên, từ đó gây ra phản ứng miễn dịch trong cơ thể. Số lượng kháng nguyên nhỏ sẽ không gây bệnh cho người được tiêm vắc xin nhưng sẽ thúc đẩy hệ thống miễn dịch của cơ thể phản ứng như lúc cơ thể phản ứng với mầm bệnh thực sự.

Các loại vắc-xin trước đại dịch Covid-19

·       Vắc-xin toàn phần (whole virus vaccines): loại này chứa nguyên toàn phần virus nhưng đã bị làm suy yếu hoặc bất hoạt. Vắc-xin loại này kích hoạt hệ thống miễn dịch nhưng không gây bệnh cho cơ thể.

·       Vắc-xin tiểu đơn vị (protein subunit vaccines): thay vì sử dụng toàn bộ mã của virus, loại vắc-xin tiểu đơn vị chỉ sử dụng một đoạn mã của virus để sản xuất ra kháng nguyên. Các đoạn mã này không xâm nhập được vào tế bào của cơ thể nên không thể gây bệnh. Tuy nhiên, việc kích hoạt theo phương pháp này thường không đủ mạnh và có thể không kích hoạt được hệ thống miễn dịch. Vì đặc tính này nên người ta thường phải tiêm các mũi vắc-xin theo một phác đồ thời gian nhất định.

·       Vắc-xin véc-tơ (viral vector vaccines): người ta cấy phần mã gen tạo kháng nguyên vào một loại virus vô hại (virus vô hại đóng vai là véc-tơ, là nơi chứa virus mầm bệnh). Virus vô hại không gây bệnh nhưng đoạn mã gen của virus mầm bệnh kích thích tế bào sản xuất ra các kháng nguyên và từ đó kích hoạt được hệ thống miễn dịch.

-

Sự sống được “số hóa” như thế nào?

Gần đây, truyền thông nói nhiều về “số hóa”. Thật ra, sự sống (life) đã thực hiện số hóa từ rất lâu rồi, cỡ đến hàng tỷ năm trước! Con số hàng tỷ năm là do tôi đoán mò, không dựa trên một cơ sở nào cả. Phần này, tôi nôm na dùng ngôn ngữ CNTT để mô tả một vài khái niệm sinh học. Anh/chị vui lòng đừng quá bận tâm về ý nghĩa hàn lâm của chúng.

Mã hóa thông tin sự sống.

Nếu như trong máy tính, chúng ta mã hóa thông tin thành các bit 0, 1 thì sự sống mã hóa thành 4 nucleotide cơ sở: A, C, G, U/T. (Chúng ta có thể viết nucleotide hoặc nucleoside, hai từ này đồng nghĩa.)

 

A: Adenine

C: Cytosine

G: Guanine

T: Thymine

U: Uracil

 

Trong RNA chúng ta viết các ký hiệu là A, C, G, U.

Trong DNA chúng ta viết các ký hiệu là A, C, G, T.

-

RNA của vi khuẩn có chiều dài khoảng hơn vài triệu nucleotide.

DNA của cơ thể sống bậc cao có chiều dài tới hàng tỷ nucleotide.

DNA của người có chiều dài khoảng 3 tỷ nucleotide, gồm nhiều đoạn mã lặp.

-

A-xít a-min (Amino acids).

Chỉ có 20 loại a-xít a-min. A-xít a-min được mã hóa theo nhóm 3 nucleotide một, được gọi là một codon. Ví dụ về cách viết codon: ‘AAC’, ‘CCG’. Một byte có 8 bit, còn một codon có 3 nucleotide. Mỗi một bit nucleotide có 4 giá trị khác nhau (A, C, G, U/T). Như vậy, nếu tính tổ hợp thì 3 nucleotide sẽ tạo ra 4*4*4 = 64 tổ hợp khác nhau. (Một byte có 28 = 256 tổ hợp khác nhau.)

 

Một codon tương ứng với một a-xít a-min. Vì chỉ có 20 loại a-xít a-min mà lại có 64 tổ hợp codon nên có nhiều codon tương ứng với cùng một a-xit amin. (Tham chiếu: DNA and RNA codon tables.)

 

Các a-xít a-min có thể được liên kết với nhau để tạo thành protein (đạm).

 

Phiên mã (transcription).

Phiên mã (sao chép mã) là bước đầu tiên của một số bước biểu hiện gen dựa trên DNA, trong đó một đoạn DNA cụ thể được sao chép thành RNA (đặc biệt là mRNA) bởi enzyme RNA polymerase. Tham khảo: Transcription.

 

Điểm mấu chốt chúng ta cần quan tâm ở đây là “phần mềm sự sống” (life software) có thể chép một đoạn DNA thành RNA.

 

RNA.

Chuyển sang thuật ngữ máy tính, DNA có thể xem như bộ nhớ trên đĩa còn RNA đóng vai là bộ nhớ RAM. Cơ thể sống có một cơ chế “chép” thông tin từ DNA sang các phân tử RNA. Giống như trong máy tính chúng ta đọc file trên đĩa (DNA) và kết quả đọc được chép vào RAM (RNA). Chúng ta có thể hiểu nôm na là “phần mềm sự sống” xử lý chương trình chạy trên RNA. “Bộ nhớ RAM” RNA chứa mã nguồn có thể xử lý được (executable). Cũng giống như RAM, RNA rất mong manh (volatile) trong lúc DNA rất ổn định. (Trong máy tính, khi ta ngắt điện thì bộ nhớ RAM mất toàn bộ nội dung - trong lúc nội dung trên đĩa vẫn giữ nguyên.)

-

Thời gian tồn tại của mRNA là hữu hạn. Trong vi khuẩn thì con số này là từ 1 đến 3 phút. mRNA trong động vật có vú có thể tồn tại từ nhiều phút đến nhiều ngày.

-

Tế bào có một cỗ máy (có tên gọi là ribosome) có thể phiên mã (translate) các phân tử RNA thành chuỗi a-xít a-min (protein). Ribosome đọc mã trong sợi RNA và căn cứ vào mã đọc được để “sản xuất” ra a-xít a-min. Có thể nói ribosome là “nhà máy tổng hợp protein bên trong tế bào”.

Nguồn.

Chú thích:

·       Cap: Đây là mã báo hiệu phần sau là ‘Executable’ (giống như quy định về file .EXE của DOS phải bắt đầu bằng ‘MZ’ hay script lệnh trên UNIX phải bắt đầu bằng ‘#!‘).

·       5’-UTR | 3’UTR: Các vùng này có tên gọi là vùng không dịch mã (untranslated region). Nghĩa là ribosome bỏ qua vùng này, không dịch mã để sản xuất ra a-xít a-min.

·       Coding sequence (CDS): Chuỗi mã mà ribosome sẽ đọc và sản xuất ra a-xít a-min (xem minh họa dưới đây).

·       Poly-A tail: Chuỗi đuôi kết thúc mRNA. Thường là chuỗi liên tục các base A (có chiều dài khoảng vài trăm base).

-

Minh họa quá trình “sản xuất” protein:

Ribosome định vị con trỏ tại codonStart’ (xem hình vẽ trên)

Lặp cho đến khi gặp codonStop’: (while codon != ‘Stop’)

Đọc và giải mã codon (trong chuỗi CDS); Tiết ra a-xít a-min tương ứng;



Nguồn.

Minh họa phiên mã và dịch mã.

Trong nhân tế bào, DNA được phiên mã thành mRNA. Sau khi được xuất sang tế bào chất, phân tử mRNA được liên kết bởi ribosome và được dịch mã bằng cách sử dụng tRNA, đọc mã codon trong mRNA, tiết ra axit-amin tương ứng.

 

Protein.

Protein là các phân tử có kích cỡ từ nhỏ đến rất lớn có thể thực hiện (hoặc kích hoạt) hầu hết mọi phản ứng hóa học, quá trình vật lý.

 

Có loại protein chỉ có ý nghĩa “quản trị nội bộ”. Chẳng hạn như insulin báo hiệu rằng các tế bào nên thay đổi hành vi của chúng, nhưng chính bản thân insulin lại không làm hoặc tạo ra bất cứ điều gì.

 

Có loại protein đóng vai trò cảm biến, như protein cryptochrome có thể phát hiện ánh sáng, từ trường. Có loại khác đo được mức pH, đo nhiệt độ, đo mức đường glucose!

 

Có loại protein là men (enzyme) xúc tác phản ứng hóa học để sản sinh ra các phân tử mới.

 

Có loại protein chỉ đóng vai “cấu trúc” cho tế bào và các hợp phần của tế bào.

 

Tóm lại, protein là các thành tố cơ bản của sự sống, vừa có chức năng cảm biến, vừa có chức năng thực thi.

 

Tương tác (interaction).

Tất nhiên, mọi thành tố của cơ thể sống tương tác với nhau.

 

Có loại protein “chặn” không cho đọc thông tin một khối nào đó của DNA.

 

Có loại protein “đọc” thông tin DNA chuyển sang RNA và trên cơ sở đó, ribosome sản sinh ra các protein mới.

 

Virus.

Virus có RNA và DNA là vật liệu di truyền của chúng. Nhưng virus không có cỗ máy ribosome.

 

Nếu protein bao bọc “phần mềm” virus lây nhiễm vào tế bào, thì DNA (hoặc RNA) của chính nó sẽ chạy trên bộ máy của tế bào sống đó. Nếu thành công, cơ chế này sẽ biến tế bào thành một nhà máy sản xuất virus mới, khi được thoát ra, chúng có thể tiếp tục lây nhiễm sang các tế bào khác. Các tế bào bị lây nhiễm lại tiếp tục sản xuất ra protein.

Protein lây nhiễm khi thoát ra khỏi cơ thể, tồn lại lơ lửng trong không khí sẽ lây nhiễm sang người khác qua hệ thống hô hấp. Khi đã bị lây nhiễm thì trong cơ thể của người bị lây nhiễm, các tế bào lại dùng cỗ máy ribosome sinh ra protein. Các protein mới phát sinh này có chứa “phần mềm” (tức là đoạn mã) virus để lây nhiễm sang các tế bào khác, …

-

Virus máy tính lây nhiễm theo cơ chế tương tự. Các file “executable” hoặc file dữ liệu có chứa mã “executable” (ví dụ các đoạn mã macro) nếu bị nhiễm virus thì khi hệ điều hành xử lý file đó virus lây sang chính bản thân hệ điều hành. Khi hệ điều hành bị nhiễm virus chạy một file “executable” khác, hệ điều hành lây virus bị nhiễm sang file “executable” mới này, …

Khi file bị lây nhiễm virus được sao chép từ máy này sang máy khác, nếu không bị phát hiện và bị “tẩy”, thì file mới này lây vào máy được sao chép, rồi lây sang các file khác, …

 

Virus không phải là một cơ thể sống, nó là một “phần mềm” “chạy” trên một cơ thể sống.

-

Đột phá của nguyên lý vắc-xin mRNA.

Ý tưởng

Sản xuất vắc-xin toàn phần, vắc-xin tiểu đơn vi, vắc-xin véc-tơ (như đã được đề cập ở trên) đòi hỏi phải nuôi cấy tế bào quy mô lớn. Điểm này hạn chế khả năng sản xuất vắc-xin nhanh chóng để ứng phó với các đợt bùng phát dịch hoặc đại dịch.

Các nhà khoa học từ lâu đã quan tâm đến việc nghiên cứu loại vắc-xin có thể kích hoạt tế bào trong cơ thể sản xuất ra protein chứa kháng nguyên. Tức là kháng nguyên được chính tế bào sinh ra chứ không phải được tiêm từ ngoài vào. Loại vắc-xin này có tên gọi là Nucleic Acid Vaccines. Chúng ta tưởng tượng là người ta tìm cách đưa toàn bộ mã gen của virus vào nhân tế bào. Khi đã vào được ngăn trong của tế bào thì tế bào sẽ sử dụng cỗ máy ribosome của mình đọc mã gen của virus và sản xuất ra protein chứa kháng nguyên.

Người ta chia loại vắc-xin kiểu này thành 2 nhóm là vắc-xin DNA và vắc-xin mRNA. Lúc đầu người ta nghĩ rằng vắc-xin DNA ổn định hơn vắc-xin mRNA, vì DNA ổn định hơn mRNA (thời gian tồn tại của mRNA hữu hạn). Tuy nhiên, vắc-xin DNA phải vượt qua 2 rào cản là màng sinh chất (plasma membrane) và màng nhân (nuclear membrane) của tế bào. Ngược lại, vắc-xin mRNA chỉ cần vượt qua một rào cản là màng tế bào chất (cytoplasmic membrane) là đã đến được vùng phiên mã (là nơi mà cỗ máy ribosome đọc mã gen và sản xuất ra protein).

 

Thách thức

Cơ thể của động vật luôn có một hệ thống chống virus tấn công. Các tế bào không hề thích thú gì với các RNA ngoại lai cả và sẽ cố gắng ở mức cao nhất để hủy diệt các RNA ngoại lai này. Đây có thể coi như “bức tường lửa”, nói theo ngôn ngữ hệ thống máy tính.

Vào những năm 1980, người ta đã có thể sản xuất mRNA theo phương pháp in vitro (từ ống nghiệm). Trong thực nghiệm, nếu người ta tiêm y nguyên mRNA thì xảy ra hiện tượng viêm – đó chính là phản ứng của cơ thể (bức tường lửa) nhằm tiêu diệt các loại RNA ngoại lai. Hiện tượng này đã dập tắt nguồn cảm hứng ban đầu về tiềm năng của mRNA.

Tuy nhiên, những trở ngại này không làm nản lòng nhà hóa sinh người Hungary Katalin Karikó, người đã cống hiến hết mình cho việc phát triển các phương pháp sử dụng mRNA để trị liệu.

 

Đột phá

Karikó và Weissman (hai nhà khoa học nhận giải Nobel) nhận thấy rằng các tế bào đuôi gai xem mRNA được phiên mã in vitro là một chất lạ, dẫn đến việc chúng kích hoạt các phân tử tín hiệu viêm. Họ tự hỏi tại sao mRNA được phiên mã trong ống nghiệm lại được coi là ngoại lai trong khi mRNA từ tế bào động vật có vú lại không gây ra phản ứng tương tự. Karikó và Weissman nhận ra rằng có một số đặc tính quan trọng nào đó làm cho mRNA sản xuất từ ống nghiệm khác với mRNA từ tế bào động vật có vú.

Karikó và Weissman biết rằng các base trong RNA từ tế bào động vật có vú thường xuyên bị biến đổi về mặt hóa học, trong khi mRNA được phiên mã in vitro thì không. Ơ-rê-ka! Có lẽ đó là chìa khóa của vấn đề chăng!?

Để nghiên cứu hiện tượng này, họ đã tạo ra các biến thể khác nhau của mRNA, mỗi biến thể có những thay đổi hóa học riêng biệt trong các base mà họ cấy vào các tế bào đuôi gai (Nhắc lại: RNA chứa bốn base, viết tắt là A, U, GC). Kết quả thật đáng ngạc nhiên: Phản ứng viêm gần như bị loại bỏ khi các biến đổi base được đưa vào mRNA. Đây là một sự thay đổi về mô hình trong hiểu biết của chúng ta về cách tế bào nhận biết và phản ứng với các dạng mRNA khác nhau. Karikó và Weissman ngay lập tức hiểu rằng khám phá của họ có ý nghĩa sâu sắc đối với việc sử dụng mRNA làm liệu pháp. Những kết quả quan trọng này được công bố vào năm 2005, 15 năm trước khi đại dịch COVID-19 xảy ra.

-



Nguồn

|| Tóm lại: để loại bỏ phản ứng viêm, Karikó và Weissman đã thay base U bằng một giả base U (ký hiệu là Ψ trong hình vẽ trên). Chỉ một thay đổi này thôi đã mang về cho họ giải Nobel danh giá! 😊

-

Suy ngẫm chậm.

  Nếu anh/chị đọc tham khảo nguồn tôi đã dẫn thì khám phá của Karikó và Weissman chỉ dừng lại ở mức “tiềm năng” (vào năm 2005). Chúng ta biết rằng từ “tiềm năng” đi đến “thực tế” là một quãng đường. Chỉ sau khi đại dịch COVID-19 xảy ra thì các công ty Pfizer & BioNTech và Moderna mới biến các ý tưởng đó thành hiện thực. Các công ty này đã sản xuất ra hơn 13 tỷ liều vắc-xin, góp phần quan trọng vào việc dập đại dịch COVID-19, giúp thế giới dần trở lại cuộc sống bình thường. Ý tưởng là công khai nhưng không phải ai cũng có thể biến ý tưởng thành thực tế. Vì vậy, có thể nói không ngoa rằng các công ty Pfizer & BioNTech và Moderna đã nâng tầm ý tưởng của họ.

  Một điểm rất đáng chú ý của khám phá này: thay đổi một cách căn bản nhận thức của giới khoa học về tương tác của hệ thống miễn dịch với mRNA. Với công nghệ mRNA, người ta có thể can thiệp trực tiếp đến hệ thống vận hành sự sống, chèn trực tiếp các đoạn mã lập trình vào “life software” (phần mềm sự sống). Cũng giống như công nghệ sửa gen, công chúng và các nhà khoa học vẫn còn nhiều ý kiến trái chiều.

-

Cuối cùng, như thường lệ, tôi nhờ bạn thỏ nhỏ mời anh/chị một tách cà phê (ảo), hy vọng anh/chị có thêm một chút thư giãn cuối tuần.


 

Credit: DALL·E.

 

☕ Nhàn đàm S&T: Humanoid Robots 🤖

Phác họa bài post: Đề dẫn. ❶. Humanoid Robots hoạt động thế nào? ❷. Lắp ghép một Humanoid Robot như thế nào? ❸. Huấn luyện Humano...