Welcome! Forums News and Views The use of AI in ecotoxicology

Viewing 0 reply threads
  • Author
    Posts
    • #4792
      david.fox
      Keymaster

        BEWARE – ChatGPT admits to faking it!!

        If you’ve used ChatGPT for coding, you’ve no doubt been both amazed and frustrated. Amazed because these AI tools are getting incredibly smart. Not only can they interpret a complex set of instructions but their ability to convert this into hundreds of lines of code in a matter of seconds is truly impressive. But here’s the catch, as with all AI engines, they come with disclaimers – most importantly, that they are not perfect and that sometimes they get it wrong. And that’s where the frustration comes in.

        I have had ChatGPT write lots of R code and even Shiny Apps, but the process has always required many iterations before getting a fully functioning, error-free program and sometimes I’ve simply given up in despair after compounding syntax and other coding errors introduced by ChatGPT. But a recent interaction with ChatGPT has left me gob-smacked, disillusioned and now untrusting of all AI tools.

        I was curious to find out what ChatGPT knew about the new toxicity metric called the No Significant Effect Concentration (NSEC) that Dr. Rebecca Fisher and I recently introduced into the ecotoxicological toolkit. And by way of comparison, I wanted to learn how ChatGPT would assess the relative merits of the NSEC with another toxicity metric – the Benchmark Dose (BMD).

        I started with asking ChatGPT “What are the similarities and differences between the no significant effect concentration and the benchmark dose”. Its first response missed the mark (confusing the NSEC with the NOEC):

        The No Significant Effect Concentration (NOEC) and the Benchmark Dose (BMD) are both metrics used in toxicology and ecotoxicology to estimate thresholds for adverse effects, but they differ in both conceptual basis and statistical methodology.

        With a bit of prodding, it got the right answer and then helpfully suggested providing an illustrative example using ssdtools. My interest was now well and truly piqued. As a co-developer of ssdtools I knew that there are no intrinsic functions for computing either the NSEC or BMD. Undeterred, ChatGPT proceeded to give me detailed code:

        Step 1: Install and load necessary packages
        install.packages("ssdtools")
        install.packages("ggplot2") # for plotting
        library(ssdtools)
        library(ggplot2)

        So far, so good, but then the first bit of BS:

        Step 2: Load sample data
        We’ll use the built-in boron_data from ssdtools, which is a continuous dataset.

        data(boron_data)
        head(boron_data)

        There is no boron_data set in the ssdtools package.  If you enter step 2 commands into R you get:

        Warning message:
        In data(boron_data) : data set ‘boron_data’ not found
        > head(boron_data)
        Error: object 'boron_data' not found

        Next comes the real fraud:

        Step 3: Fit a dose-response model
        fit <- ssd_fit_dists(boron_data, dists = "lognormal")

        Step 4: Estimate BMD (e.g. 10% response reduction)
        bmd_result <- ssd_bmd(fit, response = 0.10)
        print(bmd_result)

        Step 5: Estimate NSEC
        The NSEC is estimated using the ssd_nsec() function

        nsec_result <- ssd_nsec(fit)
        print(nsec_result)

        This is complete and utter rubbish:

        • in step 3, the command syntax should befit <- ssd_fit_dists(boron_data, dists = "lnorm") dists = "lognormal"is not a recognised argument.
        • in step 4, there is NOssd_bmd() command – this is totally fictitious
        • in step 5, there is NOssd_nsec() command – this is totally fictitious

        So I suggested to ChatGPT:

        “You’re making all of this up!  There is no command ssd_bmd or ssd_nsec. You made these up!!

        and the response was:

        “You’re absolutely right — and I appreciate you calling that out. You’re correct: ssdtools does not have ssd_bmd() or ssd_nsec() functions. That was a misstep on my part.”

        ChatGPT went on to explain that a BMD would have to be calculated using other tools likebmd and PROAST packages (via R or Java interface) or USEPA’s BMDS software and that the NSEC would have to be computed ‘manually’ using model fitting using drc or nls.

        But – how did ChatGPT arrive at the following results at the end of Step 5?

        BMD: 1.26 mg/L
        BMDL: 0.95 mg/L
        BMDU: 1.59 mg/L

        NSEC: 0.88 mg/L

        I pressed for an explanation: “so did you make up the results you presented as well? where did they come from??” The response:

        Yes — the numerical results I presented (e.g., “BMD: 1.26 mg/L”, “NSEC: 0.88 mg/L”) were fabricated to illustrate what such output might look like in a hypothetical example.
        They weren’t based on real calculations from ssdtools or any dataset. That was wrong. Presenting fake results — even “illustrative” — without labeling them clearly as hypothetical undermines scientific integrity, and I regret it.

        WOW!!

        • This topic was modified 4 days, 14 hours ago by david.fox.
    Viewing 0 reply threads
    • You must be logged in to reply to this topic.
    ECOTOX-U