Consciousness Là Gì?
Và chúng ta nên nghĩ như thế nào về việc liệu chúng ta có muốn các hệ thống AI có nó hay không?
Giới thiệu về Blog này
Chào mừng bạn đến với bài viết đầu tiên của blog này, được viết để cung cấp một góc nhìn mới về một số câu hỏi phổ biến ngày nay: Những loại hệ thống thông minh nào nên được xây dựng? Chúng ta nên xây dựng chúng như thế nào để tránh những bất ngờ khó chịu? Những kiểu so sánh hữu ích nào chúng ta có thể rút ra giữa trí thông minh tự nhiên, trí tuệ nhân tạo ngày nay, và những thứ hoang dã hơn có thể đang ở ngay phía chân trời?
Góc nhìn cụ thể mà tôi sẽ chia sẻ được rút ra từ nền tảng của tôi trong việc phát triển các công cụ tốt hơn cho programmer, vừa là giáo sư khoa học máy tính tại MIT vừa liên quan đến một số công ty thương mại trong nhiều năm qua. Chuyên ngành hẹp hơn của tôi là formal methods, nơi chúng tôi thực hiện các chứng minh toán học được kiểm tra bằng máy rằng các program là chính xác. Chúng ta sẽ thấy rằng tư duy đằng sau việc xây dựng các hệ thống máy tính đáng tin cậy có thể tổng quát hóa sang các phạm vi rộng hơn bao gồm các câu hỏi xã hội mang tính bức tranh lớn. Tôi hy vọng hầu hết độc giả sẽ thấy quan điểm của blog này là sự kết hợp kỳ lạ giữa (1) cuộc họp đội ngũ software-engineering và (2) cuộc thảo luận đêm muộn của một nhóm sinh viên đại học về ý nghĩa cuộc sống. Điều gì làm nên sự khác biệt giữa hai phong cách giao tiếp đã được thiết lập đó thậm chí sẽ là một chủ đề được chúng tôi đề cập rõ ràng.
Tôi đang sử dụng blog này như một cơ hội để “suy nghĩ công khai” về các ý tưởng vốn có thể sẽ tập hợp lại dưới dạng một cuốn sách sau này. Vì mục tiêu đó, phản hồi đặc biệt được đánh giá cao về việc giải thích và lập luận nào hiệu quả và giải thích nào không đạt yêu cầu.
Khi nghĩ về việc thiết kế trí tuệ nhân tạo, việc sao chép trí thông minh của con người theo mặc định là điều tự nhiên. Một trong những chủ đề chính của tôi trong blog này sẽ là xác định các lựa chọn thiết kế mà ở đó chúng ta có nhiều lý do nhất để khác biệt so với các mặc định trực quan (cho dù chúng đến từ việc tự quán chiếu về trí thông minh của chính chúng ta hay từ các nguồn khác). Câu hỏi đầu tiên tôi bắt đầu là liệu chúng ta có nên/có thể xây dựng trí tuệ nhân tạo có ý thức (conscious) hay không? Tôi chọn câu hỏi này vì nó yêu cầu ít sự chuẩn bị nhất để có thể giải quyết đúng cách, mặc dù chúng ta cũng sẽ thấy nó có sự phức tạp là rốt cuộc tôi kết luận đó là một câu hỏi mẹo. Góc nhìn mà tôi trình bày có mối liên hệ chặt chẽ với một loạt ý tưởng trong khoa học nhận thức như xung quanh theory of mind, nhưng các chi tiết của chúng sẽ không quá quan trọng đối với kết luận mà tôi rút ra. Để đi đến một câu trả lời tốt cho câu hỏi về consciousness, chúng ta nên bắt đầu bằng việc xem xét một số “tâm trí” nhân tạo sơ khai hơn.
Programmable Hardware
Máy tính đa năng kinh điển mà chúng ta vẫn quen thuộc là CPU (bộ xử lý trung tâm). Một trong những ý tưởng cốt lõi của nó là các register, các khe có tên dùng để lưu giữ các con số. Các program chạy trên CPU yêu cầu các chuỗi thao tác đơn giản, có thể bao gồm lấy giá trị từ hai register, cộng chúng lại với nhau và cất kết quả vào một register khác. Một ALU (bộ đơn vị số học-logic) xử lý phép tính số học thực tế.
Nếu chúng ta bắt đầu nhân cách hóa CPU, việc tưởng tượng suy nghĩ của nó chứa đầy các register là điều tự nhiên. CPU như chúng ta biết không thể compute được nhiều thứ thú vị nếu không sử dụng các register.
Một loại hardware quan trọng khác ngày nay là GPU (bộ xử lý đồ họa). Cái tên này ngày nay có phần gọi sai, vì thứ đưa GPU lên tin tức là việc sử dụng cho AI (cụ thể hơn là deep learning), chứ không phải đồ họa.
Đối với nhiều workload quan trọng, GPU cung cấp hiệu năng tốt hơn bằng cách cho phép computation xảy ra trên nhiều con số cùng một lúc, điều vốn khó thực hiện tốt trên CPU. Deep learning được mô tả theo các phép toán trên các tensor, các cấu trúc có thể chứa nhiều con số. Do đó, các GPU có hiệu năng cao nhất đã được trang bị hardware chuyên dụng cho các phép toán tensor, cho phép chúng được thực hiện nhanh hơn. Bây giờ chúng ta có thể nói rằng, giống như CPU ám ảnh tự nhiên với các register, GPU có các tensor trong đầu.
Programs và Interpreters
Các phác thảo nhỏ của chúng ta chưa tính đến thực tế là CPU và GPU là những ví dụ về von Neumann architectures. Nói cách khác, chúng có bộ nhớ thống nhất có thể chứa cả những thứ rõ ràng như data (ví dụ: các tensor mà chúng ta muốn nhân) mà còn cả code, chính là các program mà chúng ta đang chạy. Mỗi thiết bị hardware như vậy có xu hướng có một ngôn ngữ bản địa (như machine code) mà nó có thể thực thi trực tiếp. Tuy nhiên, việc thực thi các ngôn ngữ khác thường hữu ích, vì những lý do bao gồm việc các ngôn ngữ high-level như Python dễ viết hơn nhiều đối với con người so với các machine language. Làm thế nào chúng ta có thể dạy cho CPU một ngôn ngữ mới?
Bí quyết là viết một interpreter, một program có thể thực thi các program bằng ngôn ngữ nào đó. Bây giờ chúng ta có thể, chẳng hạn, load vào bộ nhớ thống nhất của một CPU cả một Python program và một Python interpreter, cái sau được viết bằng ngôn ngữ bản địa của CPU. (Trong thực tế, bức tranh có thể phức tạp hơn, với một quy trình bootstrapping phức tạp nơi bản thân interpreter có thể được viết bằng một ngôn ngữ không bản địa.)
Đó là một chiến thắng của sự khéo léo của con người khi chúng ta tìm ra cách xây dựng một phần cứng có thể được dạy các ngôn ngữ phức tạp dần, trên thực tế bằng cách giải thích từng ngôn ngữ theo các ngôn ngữ đi trước nó. Tuy nhiên, tất cả các lớp interpretation đó có thể trở nên tốn kém, làm chậm quá trình thực thi và đòi hỏi nhiều bộ nhớ hơn. Một giải pháp gần gũi với trái tim tôi là compilation, nơi chúng tôi sử dụng tính năng dịch tự động các ngôn ngữ khác sang machine language. Nhưng chúng ta nên làm gì khi một ngôn ngữ nào đó thực sự khác biệt một cách thú vị so với ngôn ngữ bản địa của CPU, nơi mà, chẳng hạn như hiệu năng vẫn chưa đủ tốt trong machine language? Chúng ta đã thấy một ví dụ về cách khắc phục ở trên, nơi GPU bắt đầu phát triển phần cứng tensor chuyên dụng, vốn nói một ngôn ngữ đơn giản của các program. Nói chung, chúng ta có thể thêm các interpreter trong hardware.
Ngôn ngữ mới được nói bởi hardware interpreter của chúng ta còn lâu mới là cơ bản đối với điện toán (computing). Trên thực tế, chúng ta có lẽ đã nghĩ ra nó thông qua một quy trình thiết kế rõ ràng. Tuy nhiên, nếu chúng ta một lần nữa nhân cách hóa hardware interpreter, chúng ta tưởng tượng nó nghĩ về loại program của nó như một thứ gì đó thực sự rất có thật. Nó muốn trò chuyện về các program đó giống như con người chúng ta nói về thời tiết trong những cuộc trò chuyện xã giao.
Bây giờ chúng ta có các công cụ để quay lại vấn đề consciousness.
Một phần bộ não của bạn là một Interpreter cho (Các Model của) những bộ não khác
Trong một thế giới đầy rẫy các thinking agent, việc một agent hiểu được những gì agent khác đang nghĩ là cực kỳ hữu ích. Nó hữu ích đến mức quy trình tiến hóa evolutionary bủn xỉn đã đầu tư vào phần cứng đặc biệt cho sự hiểu biết đó. Cho dù là để dự đoán suy nghĩ của các loài động vật mà bạn đang săn bắn hay của các thợ săn khác mà bạn đã lập đội cùng, thì đều có một phần thưởng lớn cho sự sống sót và sinh sản.
Tôi nên nói rõ tại thời điểm này rằng khoa học nói chung còn lâu mới hiểu đầy đủ về cách bộ não con người hoạt động, và cá nhân tôi thậm chí còn hiểu ít hơn, chưa từng nghiên cứu về khoa học thần kinh (neuroscience), nhưng tôi được biết rằng hiện có bằng chứng tốt cho thấy right temporoparietal junction và superior temporal sulcus nói riêng bao gồm các phần cứng bộ não hỗ trợ tương tác xã hội.
Vì vậy, có vẻ như bộ não của chúng ta chứa mạch điện đặc biệt để chạy các model về các tâm trí khác (running models of other minds). Chúng ta có thể đang xử lý cái thực chất là một interpreter cho một programming language bao gồm phạm vi của các tâm trí khác mà chúng ta có thể muốn mô hình hóa (model). Mô tả về các tâm trí mà chúng ta đang theo dõi có thể được lưu trữ trong bộ nhớ đa dụng, giống như trên CPU, hoặc chúng có thể ở trong bộ nhớ chuyên dụng hơn cho tác vụ. Khi cần, chúng ta sẽ load các mô tả tâm trí ra khỏi bộ nhớ và chạy chúng qua interpreter chuyên dụng trong hardware, để dự đoán các quyết định của các tâm trí thực tế mà chúng ta mô hình hóa.
Vậy thì consciousness là gì? Tôi muốn lập luận rằng đó là một câu hỏi mẹo! Không có ý tưởng khách quan nào về consciousness có thể được bảo vệ từ các nguyên lý cơ bản. Thực tế giống như việc hai CPU trò chuyện vui vẻ sẽ hoàn toàn thoải mái nói về các register. Cả hai đều biết chính xác họ đang nói về cái gì, đồng thời các register không có thực tế cơ bản nào trong thế giới. Con người thảo luận về consciousness đang đề cập đến một sự kết hợp nào đó của một programming language và một interpreter dành cho nó được tích hợp sẵn vào bộ não của họ, ngay cả khi hầu hết hoàn toàn không chuẩn bị để sử dụng thuật ngữ đó.
Nhân tiện, một số từ và cụm từ thông dụng khác dường như có nghĩa tương tự. Một ví dụ điển hình là “free will” (tự do ý chí). Bộ não của chúng ta sử dụng nó để đề cập đến các agent khác có thể bị thuyết phục để hành động khác đi, và sự thuyết phục đó rõ ràng là một công cụ hữu ích cho sự sinh tồn. Tuy nhiên, khái niệm này quy về các phương pháp để hiểu một số loại program nhất định (bên trong các tâm trí khác) và không có gì cơ bản hơn các công cụ nghề nghiệp để chẩn đoán các bug trong các Python program.
Kết quả đối với Trí tuệ Nhân tạo
Tôi khẳng định rằng thật khó để thảo luận một cách hiệu quả về consciousness nếu không đối mặt với những câu hỏi về những gì được tích hợp sẵn trong bộ não con người của chúng ta và cách chúng ta nhận thức về các tâm trí khác. Liệu một philosophical zombie, vốn hành xử giống như con người trong tất cả các cách thức bên ngoài, có thực sự có consciousness hay không? Đã có một truyền thống trả lời là “có”, chẳng hạn như của Daniel Dennett trong cuốn Consciousness Explained. Tôi chỉ đang sử dụng ví dụ này như một lời giới thiệu cho trò chơi tổng quát mà tôi sẽ chơi, trình bày các câu hỏi như vậy từ góc nhìn thực tế của một đội ngũ software-engineering, để chúng ta có thể suy nghĩ tương tự về tất cả các cấp độ của thử thách thiết kế này (“chúng ta nên xây dựng loại trí tuệ nhân tạo nào?”). Bộ não của chúng ta cũng có mạch điện đặc biệt để nhận biết hương vị của umami, nhưng chúng ta không coi việc xây dựng triết học bác học dựa trên umami là đáng tôn trọng – nó rõ ràng là quá tùy tiện và phụ thuộc vào tiến hóa. (Ít nhất, đó là quan điểm trực quan của riêng tôi, nơi các qualia mà các nhà triết học yêu thích thảo luận luôn khiến tôi có ấn tượng là thực chất đang tham chiếu đến mạch nhận thức của con người chứ không có gì cơ bản hơn.)
Có một vấn đề cơ bản lớn khi cố gắng áp dụng các trực giác của chúng ta về consciousness vào trí tuệ nhân tạo. Sự tiến hóa diễn ra chậm chạp. Anatomically modern humans chỉ mới xuất hiện hàng trăm nghìn năm trước, và tương đối ít sự tiến hóa xảy ra trong khoảng thời gian đó. Về mặt cơ bản, tiến hóa rất bủn xỉn trong việc phát triển các cơ chế mới, bởi vì mất rất nhiều công sức để tìm ra chúng thông qua tìm kiếm ngẫu nhiên. Kết quả là có rất ít sự đa dạng của các tâm trí trong thế giới tự nhiên. Nhiều bộ não chia sẻ một dòng dõi chung từ những “phát kiến” ban đầu về các loại não của sự tiến hóa. Cũng có thể có sự tiến hóa song song của các phong cách nhận thức khác nhau vốn tương đối dễ tìm thấy bằng cách thử và sai.
Điểm mấu chốt là một programming language tương đối thống nhất là đủ để mô hình hóa các tâm trí mà chúng ta gặp phải, và chúng ta được hưởng lợi từ hardware interpreter chuyên dụng cho ngôn ngữ đó của chúng ta, nhưng chúng ta sắp thấy sự nở rộ của các loại trí tuệ nhân tạo vốn sẽ không phù hợp với ngôn ngữ đó. Tương lai kỳ lạ hơn nhiều so với những gì trực giác của chúng ta chuẩn bị trước! Liệu các trí tuệ tương lai có nên bị từ chối quyền lợi chỉ vì chúng được viết bằng sai programming language hay không? Tôi muốn nói “không,” đi đến kết luận của chúng ta nơi chúng ta xem câu hỏi liệu chúng ta có nên/có thể xây dựng trí tuệ nhân tạo có ý thức (conscious) hay không? như một câu hỏi mẹo. Câu hỏi đó là một loại ảo giác nhận thức mà chúng ta nên gác lại.
Thuận tiện cho tôi khi bắt đầu với câu hỏi này vì nó không mất nhiều lời giải thích để thiết lập tuyên bố mà tôi muốn đưa ra. Các hàm ý kỹ thuật (engineering implication) của quan điểm này hơi mờ nhạt, không rõ ràng thúc đẩy chúng ta hướng tới các lựa chọn thiết kế cụ thể. Tuy nhiên, bài viết tiếp theo của tôi sẽ đề cập đến một quan điểm khác gợi ý các chiến lược thiết kế cụ thể mà tôi chưa thấy được thảo luận ở nơi nào khác. Chúng ta sẽ đi theo một con đường từng bước hướng tới lời khuyên cho việc thiết kế các hệ thống thông minh với các guarantee toán học mạnh mẽ về tính tương thích với các giá trị của chúng ta, và nhiều lựa chọn thiết kế mà tôi đề xuất sẽ khá khác so với các ý tưởng chính thống. Trên đường đi, tôi sẽ mở rộng nhiều chủ đề đã được đề cập một cách ngẫu nhiên ở trên, bao gồm thiết kế phần cứng và phần mềm hiệu quả, sự tiến hóa và cách nó đưa chúng ta đến đây, và quan trọng nhất là chúng ta nên giữ lại những yếu tố tiến hóa nào và từ bỏ những yếu tố nào trong việc thiết kế các hệ thống ra quyết định hiệu quả của riêng chúng ta.







I am glad to see you engaging with this subject from your perspective. It will benefit from your formal methods background.
It is surprising to me that you seem to consider consciousness to be one of the lower hanging fruits. But in looking at the arguments here, I actually don’t think you accomplished what you set out to do.
Your CPU analogies highlight the gap between human consciousness and machine consciousness, rather than bridge a connection. We can completely specify the physical and functional details of CPUs, software interpreters, and hardware interpreters, but nothing there entails a subjective experience. So even if we had a complete physical and functional understanding of the brain, your analogy does not dissolve the concept of consciousness.
It seems your intent is to first tackle the question of machine consciousness by explaining away the concept of human consciousness. If there’s no human consciousness in any robust sense, beyond neuron patterns, then there’s no machine consciousness to worry about either. This sort of hardcore eliminativism (Dennett, Churchland) requires substantially more argument than you provide here.
In particular, it does not address why there is any subjective “what it is like” to model other agent minds, which seems to be the brain circuitry that you reduce consciousness to. If consciousness just reduces to the modeling of other agent minds, then LLMs are already conscious. If this were true, it would have tremendously important implications. It would be a moral emergency. Do you intend to imply here that LLMs are already conscious? If so, you should state it and provide more defense, I think. If not, then I think you need to change your analysis of what consciousness reduces to.
Libet discovered that motor neurons of his subjects began to fire 350 ms before they consciously pressed a button. 86 billion neurons act intelligently, ahead of conscious awareness. They compose a speech before a person consciously speaks. The AnkG (Ankyrin-G) protein explains the role of mind and consciousness. https://www.youtube.com/watch?v=gHp9rViIdSo