| General > General Technical Chat |
| OpenAI ChatGPT for electronics design |
| << < (6/9) > >> |
| tom66:
Mm, except you can put garbage in to ChatGPT but get something decent out. But that's only because of its massive training corpus. A calculation I did recently: ChatGPT requires about 800GB of VRAM to run. In transistors, that is (assuming DRAM) around 6.4 trillion transistors. The exact number of graphics cards is not specified but an NvidiaRTX 3080 20GB is about 28.3 billion, so assuming that the VRAM is filled on a cluster, that means 40 cards. This means one instance of ChatGPT (we do not know how many parallel 'streams' this can compute) requires 40 cards or another 1.13 trillion transistors. An unknown number of CPUs are required, so assume no transistors for now, as well as an unknown amount of networking hardware, other RAM, storage, interfacing etc. So the lower bound for compute required is 7.5 trillion transistors. The human brain is estimated at around 86 billion neurons, with some proportion of that dedicated primarily to language (Wernicke's area). I couldn't find exact amounts but let's say 25% to overestimate. The human brain uses about 25W (estimated) whereas a 3080 Ti (1 card) has a TDP of 350W, so our ChatGPT instance needs about 14kW of power whereas our brain needs less than a tenth of one card. To do everything, not just language. If we take the 25% estimate, then 6.2 watts for language (in the real world, the power density is not evenly distributed, of course.) So ChatGPT requires about 350x more transistors than neurons, and uses about 2,240x more power, in order to incorrectly tell me Feb 29th is a leap year in 2023. |
| Microdoser:
I've been using it as my 'software intern'. It doesn't come up with amazingly insightful code, and sometimes it misunderstands the task at hand, but it does save some coding drudge work. For example, 'In Python on a raspberry pi, write a class that contains functions to read the time from a DS1307 using I2C, use that time to set the system time, can retrieve the time from the internet, and save the internet time to the DS1307. Additionally, write code to check whether the time has been retrieved successfully from the internet and choose whether to update system time from the internet or the DS1307 accordingly' It said this : --- Code: ---import smbus from datetime import datetime import ntplib import time class RTC_DS1307: def __init__(self, bus=1, addr=0x68): self.bus = smbus.SMBus(bus) self.addr = addr def bcd_to_decimal(self, bcd): return (bcd & 0x0F) + ((bcd >> 4) * 10) def decimal_to_bcd(self, decimal): return ((decimal // 10) << 4) + (decimal % 10) def read_time(self): self.bus.write_byte(self.addr, 0x00) data = self.bus.read_i2c_block_data(self.addr, 0, 7) year = self.bcd_to_decimal(data[6]) + 2000 month = self.bcd_to_decimal(data[5]) day = self.bcd_to_decimal(data[4]) hour = self.bcd_to_decimal(data[2] & 0x3F) minute = self.bcd_to_decimal(data[1]) second = self.bcd_to_decimal(data[0]) return datetime(year, month, day, hour, minute, second) def set_time(self, dt): self.bus.write_byte_data(self.addr, 0x00, self.decimal_to_bcd(dt.second)) self.bus.write_byte_data(self.addr, 0x01, self.decimal_to_bcd(dt.minute)) self.bus.write_byte_data(self.addr, 0x02, self.decimal_to_bcd(dt.hour)) self.bus.write_byte_data(self.addr, 0x03, self.decimal_to_bcd(dt.isoweekday())) self.bus.write_byte_data(self.addr, 0x04, self.decimal_to_bcd(dt.day)) self.bus.write_byte_data(self.addr, 0x05, self.decimal_to_bcd(dt.month)) self.bus.write_byte_data(self.addr, 0x06, self.decimal_to_bcd(dt.year - 2000)) def update_from_internet(self): try: c = ntplib.NTPClient() response = c.request('pool.ntp.org') t = datetime.fromtimestamp(response.tx_time) self.set_time(t) return True except: return False def update_system_time(self): if self.update_from_internet(): print("Time updated from internet") else: t = self.read_time() print("Time updated from DS1307") set_time(t) rtc = RTC_DS1307() rtc.update_system_time() --- End code --- I haven't tested it, it probably needs some tweaking, but that was written in about a minute, freeing me up to do other, more interesting, coding. |
| xrunner:
--- Quote from: eti on February 27, 2023, 08:36:35 am ---Any amount of pseudo intellectual “wisdom” to attempt to “disprove” GODs existence. I don’t care to read that wall of idiocy . God is real. That thing is merely a reflection of, or vaguely as “clever” as the intelligence or stupidity it’s been fed with when being designed. --- End quote --- --- Quote ---The Rules 5) This is an electronics forum, so try to stay on-topic. We understand that threads drift off-topic, but try not to start deliberately and grossly off-topic stuff. There are a couple of pet topics that always get out of control on forums, namely, religion, politics, guns, war, conspiracy theories, and the latest Current Thing that's happening or being championed by the public. They are not welcome here. This includes inside signatures and profile bios. This isn't Twitter where you virtue signal to everyone with your flags, emoticons, and hashtags. Those who come here to mostly only contribute non-electronics related material are not welcome. There are other forums for that stuff, this is not one of them. https://www.eevblog.com/forum/chat/forum-rules-please-read/ --- End quote --- |
| Brumby:
Moving right along.... Further to my previous inquiry: Has anybody had success in getting image responses? I've had URLs offered to me, but none have actually presented me with an image. I just get "file not found" type messages. |
| BrianHG:
I guess anything codded, or any other text at all beginning in 2023 onward is now suspect to being partly or fully done by ChatGPT. Now, you may never again be able to hire employees where you can be sure their skills are genuine, or that they have any native authentic skills at all other than being able to 'tickle' ChatGPT in the right way to achieve results. Ten years from now, such natural skills will begin to die off and those with said skills even lateron will be of a special breed. |
| Navigation |
| Message Index |
| Next page |
| Previous page |