Trở lên trên
Viết bình luận37 Bình luận
  • kspm
    Càng nhiều người khác mất việc, kỹ sư càng lên ngôi anh em ngành kỹ thuật nhậu đê
    • WolfR
      @kspm machine learning lên ngôi trong 5 năm nữa thôi là lập trình cơ bản đi ngủ nhá Bây giờ cấp 1 cũng làm game ầm ầm rồi đấy.
    • kspm
      @wolfr thì anh em làm cái mà giúp tụi cấp 1 xài rùi kéo thả làm game được ý, suốt ngày CRUD làm chi
    • ohisee
      @wolfr chủ yếu sáng tạo idea cho máy nó làm , nghề làm sản phẩm lên ngôi
    • WolfR
      @kspm Muốn được thế thì học ĐH 6 năm y như Y Dược thì may ra nhá
    • Alakazam
      @kpsm, @wolfr Thay thế lập trình tưởng dễ chứ khó lắm. Làn sóng AI lần trước rộ lên, bọn Tây nó cũng đồn là Nhật sắp sản xuất robot biết lập trình đến nơi rồi nhưng vẫn còn xa lắm. Những đoạn code sẵn dành cho những tính năng chung thì mấy bọn framework hiện đại giờ chúng nó cũng cung cấp hết rồi, chả cần phải đợi machine learning. Bọn cấp 1 làm game cũng từ mấy framework đấy chứ từ đâu. Còn từ framework ra sản phẩm hoàn chỉnh thì cần những công đoạn thủ công để đáp ứng yêu cầu riêng của khách hàng. Máy có mà học còn khướt.
    • SeineRiver2
      @alakazam mình nghĩ bác đánh giá nhầm đoạn này. Cái khó của dạy robot lập trình, là mô tả được đúng target cho nó thôi. Còn 1 khi có target rồi đảm bảo nó ra code được ngay. Mặc dù code không ai đọc hiểu nhưng chắc chắn là chạy được đúng target và pass hết sạch test ít bug hơn người code he he.
    • Alakazam
      @seineriver2 Mô tả target thì có gì khó? Như bác đã nói đấy, thiết kế sẵn các function, rồi viết sẵn các test để chạy. Máy tính chỉ việc điền code vào các function người đã thiết kế sẵn thôi. Goal đặt ra là qua hết các test. Cái đấy máy hiểu được chứ. Làm được thế này là giảm được một đống nhân công trong ngành lập trình rồi.
      Còn thay hẳn được người thì máy phải phát triển thêm bước nữa, khi thằng thiết kế các test đấy chả may thiết kế sai, máy có thể phát hiện được.
    • kspm
      @alakazam cách thiết kế function mà bác nói là 1 dạng scaffold thôi, kiểu như khi bác xài IDE kéo thả các control vào rùi nó tự sinh ra mã để chạy ý, không có gì đặc biệt cả.

      Còn việc mô tả target cho robot, ví dụ như là bác bảo nó làm cho 1 con bot tự động gửi tin nhắn đến điện thoại của bác mỗi khi anh cuong205 gửi ảnh gái lên linkhay . Khi đó, bác phải bằng cách nào đó mô tả cho nó hiểu linkhay là gì, anh cuong205 là ai, dạy nó sample ảnh gái để nó biết ... blah blah ... xong ngon rồi thì đi uống bia, kệ nó làm rùi chờ tin nhắn mà thưởng thức thôi
    • Alakazam
      @kspm
      Cái scaffold(cũng như framework) mà bác đề cập thì em đã nói ở post trên của em rồi.
      Cái post dưới em trả lời bác SeineRiver2 thì bác lại không hiểu đúng nghĩa cảnh câu trả lời của em.
      Bất kể vấn đề lập trình nào cũng đều có thể phân thành các function logic có thể xác định tính đúng/sai hết. Như vậy về vấn đề định dạng input/ouput không phải là điều khó khăn.

      Còn cái chương trình bác mô tả thì lại dễ.
      Mô tả nó hiểu linkhay là gì? Dễ. Linkhay là một URL cố định.
      Anh cuong205 là ai? Dễ nốt. Một user cố định
      Sample ảnh gái? Dễ nốt.
      Cái bác bảo không hề khó. Nếu linkhay mà public API như facebook thì em nghĩ là em lập trình bây giờ cũng được ý.

      Hình như em ấn nhầm rút report post bác thì phải. Thông cảm nhé.
    • kspm
      @alakazam vậy là bác tự viết 1 cái crawler cụ thể rồi, còn ý em là bác ra lệnh cho 1 con robot (hay smart agent?) nào đó làm cái đó cho bác, hơi khác nhau tý
    • Alakazam
      Ví dụ như chương trình bác đề cập thì em sẽ thiết kế ba function.
      Một function input là API của linkhay, userID của user bất kỳ, một time xác định, output của nó là những post mà user post sau time đó.
      Một function input là file ảnh, output của nó là ảnh đó có phải ảnh gái không.
      Một function input là SĐT của em, output nó là gửi tin nhắn đến SĐT đó.

      AI hỗ trợ lập trình là gì, là chỉ cần em định nghĩa ra ba function là nó có thể sinh code cho em vào ba cái functon đấy. Giờ bọn framework nó cũng hỗ trợ cho các function phổ biến rồi. Nhưng nếu chương trình em cần một function mà bọn framework không hỗ trợ chả hạn, thì em phải tự viết. Trong khi nếu là AI, chỉ cần em định nghĩa ra đầu ra, đầu vào của một function là máy nó có thể sinh code cho em rồi.
      Đấy em chỉ cần AI làm đến thế thôi. Chứ em chưa mơ đến một AI chỉ cần ra lệnh bằng ngôn ngữ tự nhiên là nó hiểu được.
    • Alakazam
      @kspm
      Lấy một ví dụ đơn giản. Giờ em định nghĩa một function F(A,B) đầu vào A với B là hai số tự nhiên. Output ra C - cũng là một số tự nhiên.
      Giờ em định nghĩa các testcase như sau F(1,2) = 3; F(2,3) = 5; F(3,4) = 7; Máy nó sẽ sinh ra code để thỏa mãn hết testcase đó.
      Giờ em lại định nghĩa lại các test case F(2,1) = 1; F(3,2) = 1; F(4,3) = 1; Máy nó sẽ sinh ra code để thỏa mãn hết testcase đó.
      Em chưa cần AI có thể nhận biết là một F có thể viết được hay không. Để đơn giản, em có thể đảm bảo F luôn có thể viết được. Mà giờ em cần một AI có thể sinh code tùy ý với những output testcase mà em đặc tả.
      Chỉ cần có một AI viết được function như thế thì có thể coi là AI biết lập trình được rồi. Vì mặt bản chất, mọi chương trình mình viết đều có thể quy về các bit và thao tác trên các bit được.
    • kspm
      @alakazam AI không phải chuyên môn nên em không dám ý kiến lung tung, nhưng em nghĩ AI nó như đứa trẻ con, mình dạy nó lớn dần theo thời gian rùi đến lúc nó tự chủ được suy nghĩ và hành động của nó chứ . Trong quá trình đó thì nó sẽ trải qua giai đoạn: nghe thụ động mà éo hiểu gì, nghe rồi bắt chước làm theo, nghe rồi tự làm, éo cần nghe cũng tự nghĩ ra mà làm

      Việc bác định nghĩa function/test-case như vậy, practical quá , hay là máy móc quá. Để đạt đến mức không cần lập trình viên nữa thì mức độ trừu tượng phải cao hơn chứ nhỉ (cái này em chém thôi nha).
    • Alakazam
      @kspm Cái gì cũng phải từ từ chứ bác. Giờ cho AI tự viết các function thông thường còn chưa xong thì nói gì đến những thứ xa vời khác. Hiện tại các REST API đều có thể đặc tả qua swagger rồi. Bao giờ phát triển đến mức chỉ cần ném file swagger là AI tự sinh được code, thế là cũng giảm bớt kha khá lập trình viên rồi.

      Nói chung là trừ khi có nghiên cứu mang tính breakthough còn không thì vẫn còn lâu lắm.
    • SeineRiver2
      @alakazam pass hết test không phải là goal bác ơi. Nói ví dụ như bài toán đơn giản là chuyển unix timestamp thành datetime, nếu không ai nói đầu bài cho bác, chỉ đưa ra 5 cái test, từ 1 số dài loằng ngoằng ra 1 chuỗi loằng ngoằng thì con người cũng bó tay chứ đừng nói là máy.

      Nhưng nếu mình làm 1 con bot chuyên về convert 2 dữ liệu, và đặc tả cho nó input là type gì output là type gì, nó phải sinh ra code và check những lỗi có thể khi convert. Thì con bot đấy lại rất dễ làm.

      Thế nên mới nói cái khó là định ra được 1 cái giao tiếp để robot hiểu được nội dung của việc cần làm. Thường nếu phạm trù của việc lớn quá, thì việc thiết kế ngôn ngữ giao tiếp với robot còn khó hơn là tự ngồi code Nên giờ phải thu hẹp nó lại, lúc ấy hoàn toàn có thể làm được robot code cho mình.

      Nhân tiện ở đây đố luôn các bác trong topic: nếu làm 1 con robot chuyên viết code convert 2 loại dữ liệu bất kì, thì sẽ làm ra sao, thu thập dữ liệu thế nào, train thế nào
    • Duy_Truong
      @SeineRiver2 Dạy nó bài 1: Hello world?
    • Alakazam
      @seineriver2 Thì nó phải có data training từ những chương trình có sẵn chứ. Ví dụ nó nhìn thấy nhiều chương trình của người code có input là số dài loằng ngoằng và ouput là một chuỗi loằng ngoằng thì khi gặp một test data như thế, nó sẽ phải tự suy luận ra cách xử lý. Định nghĩa input/output rồi training từ các example là cách làm của machine learning mà. Giống như nếu bác là một lập trình viên lần đầu làm thì đưa ra khái niệm Unix timestamp bác cũng đâu hiểu nó là gì? Còn bác lập trình lâu năm rồi thì chỉ nhìn vào chuỗi là bác có thể đoán nó là Unix timestamp rồi.
      Phạm trù của việc nếu lớn thì bác phải dùng con bot đã được train được từ những ví dụ căn bản học, chứ không thể train cho con bot chưa biết gì làm được.
      Ví dụ như bác xem một bài báo mà các chuyên gia Microsoft Research dùng để train AI tự lập trình:
      https://goo.gl/m81GRJ
      Còn em thấy trong lập trình, nếu AI chuyên cho một lĩnh vực hẹp, kiểu như chuyên dùng để covert 2 loại dữ liệu thì cái AI đó tồn tại cũng đâu có ý nghĩa gì hơn framework cả.
    • kspm
      @seineriver2 (vui vẻ) Em trả lời câu đố của bác phát:
      - làm cái game matching các đặc tả dữ liệu thật hay, publish lên store và cố kiếm 1 triệu lượt download & chơi. Như vậy là có vài triệu sample rồi
      - xài TensorFlow xử đống dữ liệu đó
      - ngồi đợi nó cho kết quả tiệm cận mong muốn của bác
    • SeineRiver2
      @kspm bác trả lời như mấy đồng chí đi phỏng vấn data science bên mình
      Hỏi: em thiết kế machine learning model cho bài này thế nào
      Trả lời: em dùng tensorflow

      Thực ra cái ý tưởng collect data của bác hay đấy ha ha. Hơi mất thời gian thôi.
    • SeineRiver2
      @alakazam thì thực ra cái bác nói chính là dilema của ML và AI. Dạy sát quá thì trông lại thành framework, dạy rộng quá thì chả biết dạy sao.

      Thực ra lĩnh vực này cứ bị thần thánh hóa chứ bản chất của nó cho đến giờ vẫn là học thuộc bài giải mẫu là chính thôi. Mấy cái lảm nhảm "tự học" nghe vẫn xa vời lắm.
    • Alakazam
      @seineriver2 Thực ra "tự học" nó cũng có ý nghĩa mà bác. Như trong trường hợp chuyển unix timestamp thành datetime như bác nói. Mình chỉ dạy cho nó qua sample không dạy thẳng nó unix timestamp là gì, datetime là gì, mà nó có thể "tự học", tự suy luận được điều đó qua data mà mình train cho nó. Như vậy có thể nói máy bước đầu có trí thông minh được mà.

      Nếu mà phần cứng phát triển ngon thì công nghệ ML hiện tại vẫn nhiều tiềm năng. Tưởng tượng bác có một cỗ máy có thời gian xử lý cực nhanh + dung lượng bộ nhớ gần như vô hạn thì với hiểu biết ML hiện tại cũng có thể dạy nó vô số thứ rồi. Nhưng vướng là có giới hạn vật lý, không biết bên phần cứng có đột phá gì không.

      Nói chung vẫn là vấn đề muôn thủa của ngành IT, một là cho tôi con máy khỏe hơn, hai là tự tôi tìm cách nào khéo hơn để làm.
  • Duy_Truong
    Bao giờ anh đánh máy mất việc nhỉ?
  • thinker
    What about cave?
  • nhatlamottit
    Đến bao giờ thì thầy, cô giáo mất dạy????
  • Lazy_Girl
    Thế lúc đó con người làm gì hở các bác?
  • SamSam
    Không còn đói nghèo - Không còn chiến tranh nữa chứ
  • luucongt
    Thất nghiệp thì lấy tiền đâu mà mua sản phẩm do robot sản xuất / cung cấp?
    • SeineRiver2
      @luucongt lúc ấy phải đi làm thuê cho bọn robot, chẳng hạn đi tra dầu hay nạp pin cho nó, lấy tiền chúng nó trả, và dùng tiền ấy mua sản phẩm của robot làm
  • thieuhoa
    Đã là gì so với lời tiên tri của Vâng, 2069 đàn ông mất việc, nhân loại bên bờ vực diệt vong